Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d211223f58 | ||
|
|
c4540701fd | ||
|
|
74fa016bc1 | ||
|
|
5668f76cdd | ||
|
|
7e1e0ebb80 | ||
|
|
976c0be189 | ||
|
|
e2e36a5045 | ||
|
|
6bb513f12c | ||
|
|
48eca101f1 | ||
|
|
0e63b4e069 | ||
|
|
cd8292f7fa | ||
|
|
626cd958a5 | ||
|
|
15bd9db79c | ||
|
|
114cecc911 | ||
|
|
2a469df5e4 | ||
|
|
4d162aa209 | ||
|
|
b40a86a2fc | ||
|
|
0da389e8af | ||
|
|
182ae4a50a | ||
|
|
587de65441 |
20
HISTORY.md
20
HISTORY.md
@@ -1,5 +1,25 @@
|
||||
# History
|
||||
|
||||
## 0.3.20
|
||||
|
||||
This release pegs Dokku to Docker 1.6.2. Docker 1.7.0 introduced changes in `docker ps` which cause incompatibilities with many popular dokku plugins.
|
||||
|
||||
### New Features
|
||||
|
||||
- #1245: @arthurschreiber Support config variables containing `\n`
|
||||
- #1257: @josegonzalez Split nginx ssl logs by $APP
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- #1207: @rockymadden Fixed bug with client commands taking verb, appname, and also arguments.
|
||||
- #1251: @josegonzalez Fallback to using /etc/init.d/nginx reload directly to restart nginx
|
||||
- #1264: @josegonzalez Require lxc-docker-1.6.2
|
||||
|
||||
### Docs Changes
|
||||
|
||||
- #1252: @josegonzalez Fix ssh port for vagrant installation. Closes #1139. [ci skip]
|
||||
- #1250: @josegonzalez SSL documentation is misleading
|
||||
|
||||
## 0.3.19
|
||||
|
||||
### New Features
|
||||
|
||||
2
Makefile
2
Makefile
@@ -93,7 +93,7 @@ ifndef CI
|
||||
ifdef DOCKER_VERSION
|
||||
apt-get install -qq -y lxc-docker-${DOCKER_VERSION}
|
||||
else
|
||||
apt-get install -qq -y lxc-docker
|
||||
apt-get install -qq -y lxc-docker-1.6.2
|
||||
endif
|
||||
sleep 2 # give docker a moment i guess
|
||||
endif
|
||||
|
||||
@@ -10,8 +10,8 @@ Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. S
|
||||
|
||||
To install the latest stable release, you can run the following commands as a user that has access to `sudo`:
|
||||
|
||||
wget https://raw.github.com/progrium/dokku/v0.3.19/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.3.19 bash bootstrap.sh
|
||||
wget https://raw.github.com/progrium/dokku/v0.3.20/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.3.20 bash bootstrap.sh
|
||||
|
||||
### Upgrading
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ if ARGV[0] == "onboot"
|
||||
exit
|
||||
end
|
||||
|
||||
version = "v0.3.19"
|
||||
version = "v0.3.20"
|
||||
dokku_root = ENV["DOKKU_ROOT"] || "/home/dokku"
|
||||
admin_key = `cat /root/.ssh/authorized_keys`.split("\n").first
|
||||
hostname = `bash -c '[[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME || curl icanhazip.com'`.strip
|
||||
|
||||
@@ -102,6 +102,11 @@ if [[ ! -z $DOKKU_HOST ]]; then
|
||||
if [[ ! "$1" =~ --* ]]; then
|
||||
verb=$1
|
||||
shift
|
||||
|
||||
if [[ "$1" == "$appname" ]]; then
|
||||
shift
|
||||
fi
|
||||
|
||||
args="$*"
|
||||
else
|
||||
long_args="--"
|
||||
|
||||
2
debian/control
vendored
2
debian/control
vendored
@@ -3,7 +3,7 @@ Version: 0.3.12
|
||||
Section: base
|
||||
Priority: optional
|
||||
Architecture: amd64
|
||||
Depends: locales, git, make, curl, software-properties-common, lxc-docker (>= 1.4.0), gcc, python-software-properties, man-db, buildstep, sshcommand, pluginhook
|
||||
Depends: locales, git, make, curl, software-properties-common, lxc-docker-1.6.2, gcc, python-software-properties, man-db, buildstep, sshcommand, pluginhook
|
||||
Pre-Depends: nginx, dnsutils, ruby, ruby-dev, rubygem-rack, rubygem-rack-protection, rubygem-sinatra, rubygem-tilt, apparmor, cgroup-lite
|
||||
Provides: dokku
|
||||
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
|
||||
|
||||
2
debian/preinst
vendored
2
debian/preinst
vendored
@@ -29,7 +29,7 @@ case "$1" in
|
||||
} >> $NGINX_CONF
|
||||
|
||||
rm -f /etc/nginx/sites-enabled/*
|
||||
service nginx reload
|
||||
service nginx reload || /etc/init.d/nginx reload
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
```
|
||||
Host dokku.me
|
||||
Port 2222
|
||||
Port 22
|
||||
```
|
||||
|
||||
- Copy your SSH key via `cat ~/.ssh/id_rsa.pub | pbcopy` and paste it into the dokku-installer at http://dokku.me . Change the `Hostname` field on the Dokku Setup screen to your domain and then check the box that says `Use virtualhost naming`. Then click *Finish Setup* to install your key. You'll be directed to application deployment instructions from here.
|
||||
|
||||
@@ -12,8 +12,8 @@ To install the latest stable version of dokku, you can run the following bootstr
|
||||
|
||||
```shell
|
||||
# installs dokku via apt-get
|
||||
wget https://raw.github.com/progrium/dokku/v0.3.19/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.3.19 bash bootstrap.sh
|
||||
wget https://raw.github.com/progrium/dokku/v0.3.20/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.3.20 bash bootstrap.sh
|
||||
|
||||
# Go to your server's IP and follow the web installer
|
||||
```
|
||||
|
||||
@@ -8,9 +8,18 @@ Dokku provides easy TLS/SPDY support out of the box. This can be done app-by-app
|
||||
|
||||
### Per App
|
||||
|
||||
To enable TLS connection to to one of your applications, copy or symlink the `.crt` and `.key` files into the application's `/home/dokku/:app/tls` folder (create this folder if it doesn't exist) as `server.crt` and `server.key` respectively.
|
||||
To enable TLS connections to to one of your applications, do the following:
|
||||
|
||||
* Create a key file and a cert file.
|
||||
* You can find detailed steps for generating a self-signed certificate at https://devcenter.heroku.com/articles/ssl-certificate-self
|
||||
* If you are not paranoid and need it just for a DEV or STAGING app, you can use http://www.selfsignedcertificate.com/ to generate your 2 files more easily.
|
||||
* Rename your files to server.key and server.crt
|
||||
* tar these 2 files together, *without* subdirectories. Example: tar cvf cert-key.tar server.crt server.key
|
||||
* Install the pair for your app, like this: ssh dokku@ip-of-your-dokku-server nginx:import-ssl < cert-key.tar
|
||||
|
||||
You will need to repeat the steps above for each domain used to serve your app. You can't simply create
|
||||
a single tar with all key/cert files in it (see https://github.com/progrium/dokku/issues/1195).
|
||||
|
||||
Redeployment of the application will be needed to apply TLS configuration. Once it is redeployed, the application will be accessible by `https://` (redirection from `http://` is applied as well).
|
||||
|
||||
### All Subdomains
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ config_styled_hash () {
|
||||
|
||||
config_write() {
|
||||
ENV_TEMP="$1"
|
||||
echo -e "$ENV_TEMP" | sed '/^$/d' | sort > $ENV_FILE_TEMP
|
||||
echo "$ENV_TEMP" | sed '/^$/d' | sort > $ENV_FILE_TEMP
|
||||
if ! cmp -s $ENV_FILE $ENV_FILE_TEMP; then
|
||||
cp -f $ENV_FILE_TEMP $ENV_FILE
|
||||
chmod 600 $ENV_FILE
|
||||
@@ -137,8 +137,9 @@ case "$1" in
|
||||
|
||||
if [[ $KEY =~ [a-zA-Z_][a-zA-Z0-9_]* ]]; then
|
||||
RESTART_APP=true
|
||||
ENV_TEMP=$(echo -e "${ENV_TEMP}" | sed "/^export $KEY=/ d")
|
||||
ENV_TEMP="${ENV_TEMP}\nexport $KEY='$VALUE'"
|
||||
ENV_TEMP=$(echo "${ENV_TEMP}" | sed "/^export $KEY=/ d")
|
||||
ENV_TEMP="${ENV_TEMP}
|
||||
export $KEY='$VALUE'"
|
||||
ENV_ADD=$(echo -e "${ENV_ADD}" | sed "/^$KEY=/ d")
|
||||
ENV_ADD="${ENV_ADD}$
|
||||
${var}"
|
||||
|
||||
@@ -2,6 +2,8 @@ server {
|
||||
listen [::]:80;
|
||||
listen 80;
|
||||
server_name $NOSSL_SERVER_NAME;
|
||||
access_log /var/log/nginx/${APP}-access.log;
|
||||
error_log /var/log/nginx/${APP}-error.log;
|
||||
return 301 https://\$host\$request_uri;
|
||||
}
|
||||
|
||||
@@ -9,6 +11,8 @@ server {
|
||||
listen [::]:443 ssl spdy;
|
||||
listen 443 ssl spdy;
|
||||
server_name $SSL_SERVER_NAME;
|
||||
access_log /var/log/nginx/${APP}-access.log;
|
||||
error_log /var/log/nginx/${APP}-error.log;
|
||||
$SSL_DIRECTIVES
|
||||
|
||||
keepalive_timeout 70;
|
||||
|
||||
@@ -20,7 +20,7 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "(config) config:get" {
|
||||
run ssh dokku@dokku.me config:set $TEST_APP test_var=true test_var2=\"hello world\"
|
||||
run ssh dokku@dokku.me config:set $TEST_APP test_var=true test_var2=\"hello world\" test_var3=\"with\\nnewline\"
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
@@ -28,6 +28,10 @@ teardown() {
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_output 'hello world'
|
||||
run dokku config:get $TEST_APP test_var3
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_output 'with\nnewline'
|
||||
}
|
||||
|
||||
@test "(config) config:unset" {
|
||||
|
||||
Reference in New Issue
Block a user