Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
155f4e9aba | ||
|
|
1bfbdb449b | ||
|
|
b3ca3368e8 | ||
|
|
04921d6876 | ||
|
|
a915b8888f | ||
|
|
129a5fd33d | ||
|
|
e567ce1a90 | ||
|
|
489f131ffc | ||
|
|
45ec8df7be | ||
|
|
469d1e3f49 | ||
|
|
7ca2f49d78 | ||
|
|
69176d2d9a | ||
|
|
ad030b21d4 | ||
|
|
8c8f5e17f1 | ||
|
|
e0b994c415 | ||
|
|
a12b1e2b56 | ||
|
|
590c5fc017 | ||
|
|
ee5c35dd9d | ||
|
|
42a1363996 | ||
|
|
4ae8cf8180 | ||
|
|
aef3a68d2b |
@@ -4,3 +4,8 @@ root = true
|
|||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
|
[Makefile]
|
||||||
|
insert_final_newline = true
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
||||||
|
|||||||
14
HISTORY.md
14
HISTORY.md
@@ -1,5 +1,19 @@
|
|||||||
# History
|
# History
|
||||||
|
|
||||||
|
## 0.3.8
|
||||||
|
|
||||||
|
- #796: @josegonzalez Better vagrant documentation
|
||||||
|
- #801: @joelvh Point users to upgrade guides
|
||||||
|
- #805: @ademuk Fixed import-ssl server.crt/key check
|
||||||
|
- #806: @josegonzalez Dokku pushes now happen as the dokku user, not git. Refs #796
|
||||||
|
- #807: @josegonzalez Write proper nginx conf upon installation. Closes #799
|
||||||
|
- #808: @josegonzalez Ensure makefiles are properly formatted
|
||||||
|
|
||||||
|
## 0.3.7
|
||||||
|
|
||||||
|
- #788: @mmerickel fix apps plugin issues in 0.3.6
|
||||||
|
- #789: @mmerickel do not output message when creating ENV file
|
||||||
|
|
||||||
## 0.3.6
|
## 0.3.6
|
||||||
|
|
||||||
- #782: @josegonzalez Simplified config checking
|
- #782: @josegonzalez Simplified config checking
|
||||||
|
|||||||
1
Makefile
1
Makefile
@@ -91,6 +91,7 @@ count:
|
|||||||
@find tests -type f | xargs cat | wc -l
|
@find tests -type f | xargs cat | wc -l
|
||||||
|
|
||||||
dokku-installer:
|
dokku-installer:
|
||||||
|
apt-get install -qq -y ruby
|
||||||
test -f /var/lib/dokku/.dokku-installer-created || gem install rack -v 1.5.2 --no-rdoc --no-ri
|
test -f /var/lib/dokku/.dokku-installer-created || gem install rack -v 1.5.2 --no-rdoc --no-ri
|
||||||
test -f /var/lib/dokku/.dokku-installer-created || gem install rack-protection -v 1.5.3 --no-rdoc --no-ri
|
test -f /var/lib/dokku/.dokku-installer-created || gem install rack-protection -v 1.5.3 --no-rdoc --no-ri
|
||||||
test -f /var/lib/dokku/.dokku-installer-created || gem install sinatra -v 1.4.5 --no-rdoc --no-ri
|
test -f /var/lib/dokku/.dokku-installer-created || gem install sinatra -v 1.4.5 --no-rdoc --no-ri
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. S
|
|||||||
|
|
||||||
To install the latest stable version of dokku, you can run the following bootstrapper command:
|
To install the latest stable version of dokku, you can run the following bootstrapper command:
|
||||||
|
|
||||||
$ wget -qO- https://raw.github.com/progrium/dokku/v0.3.6/bootstrap.sh | sudo DOKKU_TAG=v0.3.6 bash
|
$ wget -qO- https://raw.github.com/progrium/dokku/v0.3.8/bootstrap.sh | sudo DOKKU_TAG=v0.3.8 bash
|
||||||
|
|
||||||
|
### Upgrading
|
||||||
|
|
||||||
|
[View the docs for upgrading](http://progrium.viewdocs.io/dokku/upgrading) from an older version of Dokku.
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ if ARGV[0] == "onboot"
|
|||||||
exit
|
exit
|
||||||
end
|
end
|
||||||
|
|
||||||
version = "v0.3.6"
|
version = "v0.3.8"
|
||||||
dokku_root = ENV["DOKKU_ROOT"] || "/home/dokku"
|
dokku_root = ENV["DOKKU_ROOT"] || "/home/dokku"
|
||||||
admin_key = `cat /root/.ssh/authorized_keys`.split("\n").first
|
admin_key = `cat /root/.ssh/authorized_keys`.split("\n").first
|
||||||
hostname = `bash -c '[[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME || curl icanhazip.com'`.strip
|
hostname = `bash -c '[[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME || curl icanhazip.com'`.strip
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ Now you can deploy apps on your Dokku. Let's deploy the [Heroku Node.js sample a
|
|||||||
|
|
||||||
```
|
```
|
||||||
$ cd node-js-sample
|
$ cd node-js-sample
|
||||||
$ git remote add progrium dokku@progriumapp.com:node-js-app
|
$ git remote add dokku dokku@dokku.me:node-js-app
|
||||||
$ git push progrium master
|
$ git push dokku master
|
||||||
Counting objects: 296, done.
|
Counting objects: 296, done.
|
||||||
Delta compression using up to 4 threads.
|
Delta compression using up to 4 threads.
|
||||||
Compressing objects: 100% (254/254), done.
|
Compressing objects: 100% (254/254), done.
|
||||||
@@ -18,12 +18,12 @@ Total 296 (delta 25), reused 276 (delta 13)
|
|||||||
... blah blah blah ...
|
... blah blah blah ...
|
||||||
|
|
||||||
-----> Application deployed:
|
-----> Application deployed:
|
||||||
http://node-js-app.progriumapp.com
|
http://node-js-app.dokku.me
|
||||||
```
|
```
|
||||||
|
|
||||||
You're done!
|
You're done!
|
||||||
|
|
||||||
Dokku only supports deploying from its master branch, so if you'd like to deploy a different local branch use: ```git push progrium <local branch>:master```
|
Dokku only supports deploying from its master branch, so if you'd like to deploy a different local branch use: ```git push dokku <local branch>:master```
|
||||||
|
|
||||||
Right now Buildstep supports buildpacks for Node.js, Ruby, Python, [and more](https://github.com/progrium/buildstep#supported-buildpacks). It's not hard to add more, [go add more](https://github.com/progrium/buildstep#adding-buildpacks)!
|
Right now Buildstep supports buildpacks for Node.js, Ruby, Python, [and more](https://github.com/progrium/buildstep#supported-buildpacks). It's not hard to add more, [go add more](https://github.com/progrium/buildstep#adding-buildpacks)!
|
||||||
Please check the documentation for your particular build pack as you may need to include configuration files (such as a Procfile) in your project root.
|
Please check the documentation for your particular build pack as you may need to include configuration files (such as a Procfile) in your project root.
|
||||||
@@ -53,33 +53,33 @@ Alternatively, you may push an app to your dokku host with a name like "00-defau
|
|||||||
|
|
||||||
The name of remote repository is used as the name of application to be deployed, as for example above:
|
The name of remote repository is used as the name of application to be deployed, as for example above:
|
||||||
|
|
||||||
$ git remote add progrium git@progriumapp.com:node-js-app
|
$ git remote add dokku dokku@dokku.me:node-js-app
|
||||||
$ git push progrium master
|
$ git push dokku master
|
||||||
|
|
||||||
Is deployed to,
|
Is deployed to,
|
||||||
|
|
||||||
remote: -----> Application deployed:
|
remote: -----> Application deployed:
|
||||||
remote: http://node-js-app.progriumapp.com
|
remote: http://node-js-app.dokku.me
|
||||||
|
|
||||||
You can also specify fully qualified names, say `app.progrium.com`, as
|
You can also specify fully qualified names, say `app.dokku.me`, as
|
||||||
|
|
||||||
$ git remote add progrium git@progriumapp.com:app.progrium.com
|
$ git remote add dokku dokku@dokku.me:app.dokku.me
|
||||||
$ git push progrium master
|
$ git push dokku master
|
||||||
|
|
||||||
So, after deployment the application will be available at,
|
So, after deployment the application will be available at,
|
||||||
|
|
||||||
remote: -----> Application deployed:
|
remote: -----> Application deployed:
|
||||||
remote: http://app.progrium.com
|
remote: http://app.dokku.me
|
||||||
|
|
||||||
This is in particular useful, then you want to deploy to root domain, as
|
This is in particular useful, then you want to deploy to root domain, as
|
||||||
|
|
||||||
$ git remote add progrium git@progriumapp.com:progrium.com
|
$ git remote add dokku dokku@dokku.me:dokku.me
|
||||||
$ git push progrium master
|
$ git push dokku master
|
||||||
|
|
||||||
... deployment ...
|
... deployment ...
|
||||||
|
|
||||||
remote: -----> Application deployed:
|
remote: -----> Application deployed:
|
||||||
remote: http://progrium.com
|
remote: http://dokku.me
|
||||||
|
|
||||||
# Removing a deployed app
|
# Removing a deployed app
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Ubuntu 14.04 x64 x64. Ideally have a domain ready to point to your host. It's de
|
|||||||
To install the latest stable version of dokku, you can run the following bootstrapper command:
|
To install the latest stable version of dokku, you can run the following bootstrapper command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget -qO- https://raw.github.com/progrium/dokku/v0.3.6/bootstrap.sh | sudo DOKKU_TAG=v0.3.6 bash
|
wget -qO- https://raw.github.com/progrium/dokku/v0.3.8/bootstrap.sh | sudo DOKKU_TAG=v0.3.8 bash
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuring
|
## Configuring
|
||||||
@@ -20,7 +20,7 @@ Set up a domain and a wildcard domain pointing to that host. Make sure `/home/do
|
|||||||
|
|
||||||
You'll have to add a public key associated with a username by doing something like this from your local machine:
|
You'll have to add a public key associated with a username by doing something like this from your local machine:
|
||||||
|
|
||||||
$ cat ~/.ssh/id_rsa.pub | ssh progriumapp.com "sudo sshcommand acl-add dokku progrium"
|
$ cat ~/.ssh/id_rsa.pub | ssh dokku.me "sudo sshcommand acl-add dokku $USER"
|
||||||
|
|
||||||
That's it!
|
That's it!
|
||||||
|
|
||||||
@@ -110,6 +110,7 @@ sudo BUILD_STACK=true make install
|
|||||||
# - `BOX_MEMORY`
|
# - `BOX_MEMORY`
|
||||||
# - `DOKKU_DOMAIN`
|
# - `DOKKU_DOMAIN`
|
||||||
# - `DOKKU_IP`.
|
# - `DOKKU_IP`.
|
||||||
|
cd path/to/dokku
|
||||||
vagrant up
|
vagrant up
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# Remote commands
|
# Remote commands
|
||||||
|
|
||||||
Dokku commands can be run over ssh. Anywhere you would run `dokku <command>`, just run `ssh -t dokku@progriumapp.com <command>`
|
Dokku commands can be run over ssh. Anywhere you would run `dokku <command>`, just run `ssh -t dokku@dokku.me <command>`
|
||||||
The `-t` is used to request a pty. It is highly recommended to do so.
|
The `-t` is used to request a pty. It is highly recommended to do so.
|
||||||
To avoid the need to type the `-t` option each time, simply create/modify a section in the `.ssh/config` on the client side, as follows:
|
To avoid the need to type the `-t` option each time, simply create/modify a section in the `.ssh/config` on the client side, as follows:
|
||||||
|
|
||||||
```
|
```
|
||||||
Host progriumapp.com
|
Host dokku.me
|
||||||
RequestTTY yes
|
RequestTTY yes
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|||||||
case "$1" in
|
case "$1" in
|
||||||
apps)
|
apps)
|
||||||
echo "=== My Apps"
|
echo "=== My Apps"
|
||||||
find $DOKKU_ROOT -maxdepth 1 -type d \( ! -iname ".*" \) -not -path $DOKKU_ROOT/tls | sed 's|^\./||g' | sed 's|'$DOKKU_ROOT'\/||' | tail -n +2 | sort
|
find $DOKKU_ROOT -follow -maxdepth 1 -type d \( ! -iname ".*" \) -not -path $DOKKU_ROOT/tls | sed 's|^\./||g' | sed 's|'$DOKKU_ROOT'\/||' | tail -n +2 | sort
|
||||||
;;
|
;;
|
||||||
|
|
||||||
apps:create)
|
apps:create)
|
||||||
[[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1
|
[[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1
|
||||||
[[ -d "$DOKKU_ROOT/$APP" ]] && echo " ! Name is already taken" && exit 1
|
[[ -d "$DOKKU_ROOT/$2" ]] && echo " ! Name is already taken" && exit 1
|
||||||
APP="$2"
|
APP="$2"
|
||||||
|
|
||||||
mkdir -p "$DOKKU_ROOT/$APP"
|
mkdir -p "$DOKKU_ROOT/$APP"
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ ENV_FILE="$DOKKU_ROOT/$2/ENV"
|
|||||||
ENV_FILE_TEMP="$DOKKU_ROOT/$2/ENV.tmp"
|
ENV_FILE_TEMP="$DOKKU_ROOT/$2/ENV.tmp"
|
||||||
config_create () {
|
config_create () {
|
||||||
[ -f $ENV_FILE ] || {
|
[ -f $ENV_FILE ] || {
|
||||||
echo "-----> Creating $ENV_FILE"
|
|
||||||
touch $ENV_FILE
|
touch $ENV_FILE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ case "$1" in
|
|||||||
TEMP_DIR=`mktemp -d`
|
TEMP_DIR=`mktemp -d`
|
||||||
cd $TEMP_DIR
|
cd $TEMP_DIR
|
||||||
tar xvf - <&0
|
tar xvf - <&0
|
||||||
[[ -f "$TEMP_DIR/server.crt" ]] && echo "Tar archive missing server.crt" && exit 1
|
[[ ! -f "$TEMP_DIR/server.crt" ]] && echo "Tar archive missing server.crt" && exit 1
|
||||||
[[ -f "$TEMP_DIR/server.key" ]] && echo "Tar archive missing server.key" && exit 1
|
[[ ! -f "$TEMP_DIR/server.key" ]] && echo "Tar archive missing server.key" && exit 1
|
||||||
|
|
||||||
mkdir -p "$DOKKU_ROOT/$APP/tls"
|
mkdir -p "$DOKKU_ROOT/$APP/tls"
|
||||||
mv "$TEMP_DIR/server.crt" "$DOKKU_ROOT/$APP/tls/server.crt"
|
mv "$TEMP_DIR/server.crt" "$DOKKU_ROOT/$APP/tls/server.crt"
|
||||||
|
|||||||
@@ -32,6 +32,36 @@ ssl_prefer_server_ciphers on;
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cat<<EOF > /etc/nginx/nginx.conf
|
||||||
|
user www-data;
|
||||||
|
worker_processes auto;
|
||||||
|
pid /run/nginx.pid;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 768;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
keepalive_timeout 65;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
access_log /var/log/nginx/access.log;
|
||||||
|
error_log /var/log/nginx/error.log;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
gzip_disable "msie6";
|
||||||
|
|
||||||
|
include /etc/nginx/conf.d/*.conf;
|
||||||
|
include /etc/nginx/sites-enabled/*;
|
||||||
|
}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
echo 'server_names_hash_bucket_size 64;' >| /etc/nginx/conf.d/server_names_hash_bucket_size.conf
|
echo 'server_names_hash_bucket_size 64;' >| /etc/nginx/conf.d/server_names_hash_bucket_size.conf
|
||||||
|
|
||||||
if [[ ! -f "$DOKKU_ROOT/VHOST" ]]; then
|
if [[ ! -f "$DOKKU_ROOT/VHOST" ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user