Created
January 16, 2015 18:03
-
-
Save jrschumacher/58e5189942f28053a9e1 to your computer and use it in GitHub Desktop.
docker latest no port issue
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
32b9ac00b8fa dokku/coach:latest "/bin/bash -c '/star About an hour ago Up About an hour determined_bardeen | |
ed13cc0c60b6 dokku/helloworld:latest "/bin/bash -c '/star About an hour ago Up About an hour 0.0.0.0:49154->5000/tcp dreamy_hopper |
Author
jrschumacher
commented
Jan 16, 2015
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eda039d0651d dokku/coach:latest "/bin/bash -c '/star About a minute ago Up About a minute jolly_sammet
ed13cc0c60b6 dokku/helloworld:latest "/bin/bash -c '/star About an hour ago Up About an hour 0.0.0.0:49154->5000/tcp dreamy_hopper
Server.js
var express = require('express'),
compression = require('compression'),
serveStatic = require('serve-static'),
favicon = require('serve-favicon'),
minify = require('express-minify'),
app = express();
var staticOpts = {};
if(process.env.ENV === 'production') {
staticOpts.maxAge = 86400000;
}
app.use(favicon(__dirname + '/www/favicon.ico'));
app.use(compression());
app.use(function(req, res, next) {
if (/-controller\.js$/.test(req.url) ||
/-service\.js$/.test(req.url) ||
/app\.js$/.test(req.url)) {
res._no_mangle = true;
}
next();
});
app.use(minify());
app.use(serveStatic(__dirname + '/www', staticOpts));
// CORS (Cross-Origin Resource Sharing) headers to support Cross-site HTTP requests
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
next();
});
app.set('port', process.env.PORT || 5000);
console.log(process.env);
app.listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
$ # cat /home/dokku/coach/nginx.conf
upstream coach { server 172.17.0.33:5000; }
server {
listen [::]:80;
listen 80;
server_name coach.xxx.com coach.xxx2.com;
location / {
proxy_pass http://coach;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/coach/nginx.conf.d/*.conf;
}
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
494d88be61f3 dokku/coach:latest "/bin/bash -c '/star 24 seconds ago Up 23 seconds desperate_bohr
eda039d0651d 370be18cee78 "/bin/bash -c '/star 9 minutes ago Up 9 minutes jolly_sammet
ed13cc0c60b6 dokku/helloworld:latest "/bin/bash -c '/star 2 hours ago Up 2 hours 0.0.0.0:49154->5000/tcp dreamy_hopper
$ dokku config coach
=== coach config vars ===
API_URL: http://api.xxx.com
ENV: staging
New "App" Coach 2
git remote set-url dokku [email protected]:coach2
$ git remote set-url dokku [email protected]:coach2
$ git remote set-url --push dokku [email protected]:coach2
git push dokku master
$ git push dokku master master
Counting objects: 441, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (428/428), done.
Writing objects: 100% (441/441), 3.41 MiB | 2.07 MiB/s, done.
Total 441 (delta 83), reused 0 (delta 0)
-----> Cleaning up ...
-----> Building coach2 ...
-----> Adding BUILD_ENV to build environment...
-----> Node.js app detected
PRO TIP: Avoid using semver ranges starting with '>' in engines.node
See https://devcenter.heroku.com/articles/nodejs-support
-----> Requested node range: >=0.10.0
-----> Resolved node version: 0.10.35
-----> Downloading and installing node
-----> Exporting config vars to environment
-----> Installing dependencies
> [email protected] install /tmp/build/node_modules/gulp/node_modules/v8flags
> node fetch.js
> [email protected] install /tmp/build/node_modules/gulp-sass/node_modules/node-sass
> node build.js
`linux-x64-v8-3.14` exists; testing
․․․․․․․․․․․․․․․․․․․․․․․․․․
26 passing (216ms)
Binary is fine; exiting
> [email protected] install /tmp/build/node_modules/express-minify/node_modules/node-sass
> node build.js
`linux-x64-v8-3.14` exists; testing
․․․․․․․․․․․․․․․․․․․․․․․․․․
26 passing (167ms)
Binary is fine; exiting
[email protected] node_modules/gulp-rename
[email protected] node_modules/serve-favicon
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected] ([email protected])
[email protected] node_modules/serve-static
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
[email protected] node_modules/express
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected])
[email protected] node_modules/compression
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
[email protected] node_modules/gulp-concat
├── [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
[email protected] node_modules/gulp-minify-css
├── [email protected]
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected])
[email protected] node_modules/gulp
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected])
[email protected] node_modules/express-uglify
├── [email protected]
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
[email protected] node_modules/gulp-sass
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
[email protected] node_modules/express-minify
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
-----> Caching node_modules directory for future builds
-----> Cleaning up node-gyp and npm artifacts
-----> Building runtime environment
-----> Discovering process types
Procfile declares types -> web
-----> Releasing coach2 ...
-----> Deploying coach2 ...
-----> Running pre-flight checks
check-deploy: /home/dokku/coach2/CHECKS not found. attempting to retrieve it from container ...
CHECKS file not found in container. skipping checks.
-----> Running post-deploy
-----> Creating /home/dokku/coach2/DOMAINS
-----> Creating new /home/dokku/coach2/VHOST...
-----> Configuring coach2.xxx.pw...
-----> Creating http nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
=====> Application deployed:
http://coach2.xxx.pw
To [email protected]:coach2
* [new branch] master -> master
docker ps
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b8d665c855bb dokku/coach2:latest "/bin/bash -c '/star 48 seconds ago Up 47 seconds angry_almeida
494d88be61f3 dokku/coach:latest "/bin/bash -c '/star 10 minutes ago Up 10 minutes desperate_bohr
ed13cc0c60b6 dokku/helloworld:latest "/bin/bash -c '/star 2 hours ago Up 2 hours 0.0.0.0:49154->5000/tcp dreamy_hopper
++ id -un
+ [[ dokku != \d\o\k\k\u ]]
+ [[ -n git-receive-pack 'coach2' ]]
+ export -n SSH_ORIGINAL_COMMAND
+ [[ git-receive-pack =~ config-* ]]
+ /usr/local/bin/dokku git-receive-pack ''\''coach2'\'''
++ id -un
+ [[ dokku != \d\o\k\k\u ]]
+ [[ -n '' ]]
+ case "$1" in
+ implemented=0
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/00_dokku-standard/commands git-receive-pack ''\''coach2'\'''
+ case "$1" in
+ exit 10
+ exit_code=10
+ set -e
+ '[' 10 -eq 10 ']'
+ continue
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/apps/commands git-receive-pack ''\''coach2'\'''
+ case "$1" in
+ exit 10
+ exit_code=10
+ set -e
+ '[' 10 -eq 10 ']'
+ continue
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/backup/commands git-receive-pack ''\''coach2'\'''
+ CURRENT_BACKUP_VERSION=1
+ case "$1" in
+ exit 10
+ exit_code=10
+ set -e
+ '[' 10 -eq 10 ']'
+ continue
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/config/commands git-receive-pack ''\''coach2'\'''
+ ENV_FILE='/home/dokku/'\''coach2'\''/ENV'
+ ENV_FILE_TEMP='/home/dokku/'\''coach2'\''/ENV.tmp'
+ case "$1" in
+ exit 10
+ exit_code=10
+ set -e
+ '[' 10 -eq 10 ']'
+ continue
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/custom-domains/commands git-receive-pack ''\''coach2'\'''
+ [[ git-receive-pack == domains ]]
+ [[ git-receive-pack == domains:* ]]
+ case "$1" in
+ exit_code=0
+ set -e
+ '[' 0 -eq 10 ']'
+ implemented=1
+ '[' 0 -ne 0 ']'
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/domains/commands git-receive-pack ''\''coach2'\'''
+ RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
+ RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
+ case "$1" in
+ exit 10
+ exit_code=10
+ set -e
+ '[' 10 -eq 10 ']'
+ continue
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/git/commands git-receive-pack ''\''coach2'\'''
+ case "$1" in
++ sed 's/\\'\''/'\''/g'
++ perl -pe 's/(?<!\\)'\''//g'
++ echo ''\''coach2'\'''
+ APP=coach2
+ APP_PATH=/home/dokku/coach2
+ [[ git-receive-pack == \g\i\t\-\r\e\c\e\i\v\e\-\p\a\c\k ]]
+ [[ ! -d /home/dokku/coach2/refs ]]
+ args='git-receive-pack '\''coach2'\'''
+ git-shell -c 'git-receive-pack '\''coach2'\'''
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + implemented=0
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/00_dokku-standard/commands git-hook coach2
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/apps/commands git-hook coach2
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/backup/commands git-hook coach2
remote: + CURRENT_BACKUP_VERSION=1
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/config/commands git-hook coach2
remote: + ENV_FILE=/home/dokku/coach2/ENV
remote: + ENV_FILE_TEMP=/home/dokku/coach2/ENV.tmp
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/custom-domains/commands git-hook coach2
remote: + [[ git-hook == domains ]]
remote: + [[ git-hook == domains:* ]]
remote: + case "$1" in
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/domains/commands git-hook coach2
remote: + RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/git/commands git-hook coach2
remote: + case "$1" in
remote: + APP=coach2
remote: + read oldrev newrev refname
remote: + [[ refs/heads/master = \r\e\f\s\/\h\e\a\d\s\/\m\a\s\t\e\r ]]
remote: + sed -u 's/^/�[1G/'
remote: + dokku receive coach2
remote: + git_archive_all coach2 0e99272abd4405da8f3399fe626f1857a79cb5e7
remote: + APP=coach2
remote: + REV=0e99272abd4405da8f3399fe626f1857a79cb5e7
remote: ++ id -un
remote: ++ mktemp -d
remote: + TMP_WORK_DIR=/tmp/tmp.DXSPKN5Ixx
remote: + chmod 755 /tmp/tmp.DXSPKN5Ixx
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + APP=coach2
remote: + IMAGE=dokku/coach2
remote: + echo '-----> Cleaning up ...'
remote: �[1G-----> Cleaning up ...
remote: + dokku cleanup
remote: + unset GIT_DIR GIT_WORK_TREE
remote: + git clone -q /home/dokku/coach2 /tmp/tmp.DXSPKN5Ixx
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + grep '<none>'
remote: + awk '{print $3}'
remote: + xargs docker rmi
remote: + docker images
remote: + xargs docker rm
remote: + awk '{print $1}'
remote: + docker ps -a
remote: + grep Exit
remote: + echo '-----> Building coach2 ...'
remote: �[1G-----> Building coach2 ...
remote: + dokku build coach2
remote: + cat
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + APP=coach2
remote: + IMAGE=dokku/coach2
remote: + CACHE_DIR=/home/dokku/coach2/cache
remote: ++ docker run -i -a stdin progrium/buildstep /bin/bash -c 'mkdir -p /app && tar -xC /app'
remote: ++ cat
remote: + pushd /tmp/tmp.DXSPKN5Ixx
remote: + git config advice.detachedHead false
remote: + git checkout 0e99272abd4405da8f3399fe626f1857a79cb5e7
remote: + git submodule update --init --recursive
remote: + find -name .git -prune -exec rm -rf '{}' ';'
remote: + tar c .
remote: + popd
remote: + rm -rf /tmp/tmp.DXSPKN5Ixx
remote: + id=b3b26677cad50b2f27967b7a834496a0e301c301d452b9367288aa8bd99b9d93
remote: ++ docker wait b3b26677cad50b2f27967b7a834496a0e301c301d452b9367288aa8bd99b9d93
remote: + test 0 -eq 0
remote: + docker commit b3b26677cad50b2f27967b7a834496a0e301c301d452b9367288aa8bd99b9d93 dokku/coach2
remote: + [[ -d /home/dokku/coach2/cache ]]
remote: + pluginhook pre-build coach2
remote: + APP=coach2
remote: + IMAGE=dokku/coach2
remote: + BUILD_ENV=
remote: + [[ -f /home/dokku/BUILD_ENV ]]
remote: + grep -q CURL_CONNECT_TIMEOUT /home/dokku/ENV
remote: + grep -q CURL_TIMEOUT /home/dokku/ENV
remote: + [[ -f /home/dokku/ENV ]]
remote: + BUILD_ENV+='export CURL_CONNECT_TIMEOUT=5
remote: export CURL_TIMEOUT=30'
remote: + [[ -f /home/dokku/coach2/ENV ]]
remote: + BUILD_ENV+=' '
remote: + BUILD_ENV+=
remote: + [[ ! -z export CURL_CONNECT_TIMEOUT=5
remote: export CURL_TIMEOUT=30 ]]
remote: + echo '-----> Adding BUILD_ENV to build environment...'
remote: �[1G-----> Adding BUILD_ENV to build environment...
remote: ++ sed 's@export @@g'
remote: ++ echo export CURL_CONNECT_TIMEOUT=5 export CURL_TIMEOUT=30
remote: +++ cat
remote: ++ docker run -i -a stdin dokku/coach2 /bin/bash -c 'for ENV_VAR in CURL_CONNECT_TIMEOUT=5 CURL_TIMEOUT=30; do echo $ENV_VAR |sed '\''s@^\([^=]*\)=\(.*\)$@echo \"\2\" >/tmp/env/\1@g'\'' >>/tmp/set_env.sh; done && mkdir -p /tmp/env && /bin/bash /tmp/set_env.sh'
remote: + id=e40bdb0b01d3dcea7ee67736138dbe2921632c08ca0e12df76af231eaac1bb4a
remote: ++ docker wait e40bdb0b01d3dcea7ee67736138dbe2921632c08ca0e12df76af231eaac1bb4a
remote: + test 0 -eq 0
remote: + docker commit e40bdb0b01d3dcea7ee67736138dbe2921632c08ca0e12df76af231eaac1bb4a dokku/coach2
remote: ++ docker run -i -a stdin dokku/coach2 /bin/bash -c 'cat >> /app/.env'
remote: ++ echo 'export CURL_CONNECT_TIMEOUT=5
remote: export CURL_TIMEOUT=30 '
remote: + id=c0abbcd5faed510974515d4fa13f76f8546b3703e8b92243020ca3183dc1b741
remote: ++ docker wait c0abbcd5faed510974515d4fa13f76f8546b3703e8b92243020ca3183dc1b741
remote: + test 0 -eq 0
remote: + docker commit c0abbcd5faed510974515d4fa13f76f8546b3703e8b92243020ca3183dc1b741 dokku/coach2
remote: ++ pluginhook docker-args coach2 build
remote: ++ :
remote: + DOCKER_ARGS=
remote: ++ docker run -d -v /home/dokku/coach2/cache:/cache -e CACHE_PATH=/cache dokku/coach2 /build/builder
remote: + id=eb915c986ae8553c8fe81d7cc61b27332ec245b5a3e339e392750e84343408c6
remote: + docker attach eb915c986ae8553c8fe81d7cc61b27332ec245b5a3e339e392750e84343408c6
remote: �[1G�[1G-----> Node.js app detected
remote: �[1G�[1G
remote: �[1G�[1G PRO TIP: Avoid using semver ranges starting with '>' in engines.node
remote: �[1G�[1G See https://devcenter.heroku.com/articles/nodejs-support
remote: �[1G�[1G
remote: �[1G�[1G-----> Requested node range: >=0.10.0
remote: �[1G�[1G-----> Resolved node version: 0.10.35
remote: �[1G�[1G-----> Downloading and installing node
remote: �[1G�[1G-----> Restoring node_modules directory from cache
remote: �[1G�[1G-----> Pruning cached dependencies not specified in package.json
remote: �[1G�[1G-----> Exporting config vars to environment
remote: �[1G�[1G-----> Installing dependencies
remote: �[1G�[1G-----> Caching node_modules directory for future builds
remote: �[1G�[1G-----> Cleaning up node-gyp and npm artifacts
remote: �[1G�[1G-----> Building runtime environment
remote: �[1G�[1G-----> Discovering process types
remote: �[1G�[1G Procfile declares types -> web
remote: ++ docker wait eb915c986ae8553c8fe81d7cc61b27332ec245b5a3e339e392750e84343408c6
remote: + test 0 -eq 0
remote: + docker commit eb915c986ae8553c8fe81d7cc61b27332ec245b5a3e339e392750e84343408c6 dokku/coach2
remote: + pluginhook post-build coach2
remote: + echo '-----> Releasing coach2 ...'
remote: + dokku release coach2
remote: �[1G-----> Releasing coach2 ...
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + APP=coach2
remote: + IMAGE=dokku/coach2
remote: + pluginhook pre-release coach2
remote: + [[ -f /home/dokku/coach2/ENV ]]
remote: ++ docker run -i -a stdin dokku/coach2 /bin/bash -c 'mkdir -p /app/.profile.d && cat > /app/.profile.d/app-env.sh'
remote: + id=441321de8d54690684953f16fd956ad208b021ce415eb55b38eacdc4487b8022
remote: ++ docker wait 441321de8d54690684953f16fd956ad208b021ce415eb55b38eacdc4487b8022
remote: + test 0 -eq 0
remote: + docker commit 441321de8d54690684953f16fd956ad208b021ce415eb55b38eacdc4487b8022 dokku/coach2
remote: + pluginhook post-release coach2
remote: + echo '-----> Deploying coach2 ...'
remote: + dokku deploy coach2
remote: �[1G-----> Deploying coach2 ...
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + APP=coach2
remote: + IMAGE=dokku/coach2
remote: + pluginhook pre-deploy coach2
remote: + [[ -f /home/dokku/coach2/CONTAINER ]]
remote: + oldid=4ad4c4c0efc267e149ce3b2f9c2da10ffb7aaa00180cadbfbec2fafb238361cc
remote: ++ pluginhook docker-args coach2 deploy
remote: ++ :
remote: + DOCKER_ARGS=
remote: ++ pluginhook bind-external-ip coach2
remote: + APP=coach2
remote: + set +e
remote: ++ dokku config:get coach2 NO_VHOST
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + implemented=0
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/00_dokku-standard/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/apps/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/backup/commands config:get coach2 NO_VHOST
remote: + CURRENT_BACKUP_VERSION=1
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/config/commands config:get coach2 NO_VHOST
remote: + ENV_FILE=/home/dokku/coach2/ENV
remote: + ENV_FILE_TEMP=/home/dokku/coach2/ENV.tmp
remote: + case "$1" in
remote: + [[ -z coach2 ]]
remote: + [[ ! -d /home/dokku/coach2 ]]
remote: + APP=coach2
remote: + [[ -z NO_VHOST ]]
remote: + config_create
remote: + '[' -f /home/dokku/coach2/ENV ']'
remote: + [[ ! -s /home/dokku/coach2/ENV ]]
remote: + exit 0
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/custom-domains/commands config:get coach2 NO_VHOST
remote: + [[ config:get == domains ]]
remote: + [[ config:get == domains:* ]]
remote: + case "$1" in
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/domains/commands config:get coach2 NO_VHOST
remote: + RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/git/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/nginx-vhosts/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + '[' 1 -eq 0 ']'
remote: + NO_VHOST=
remote: + set -e
remote: + RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + [[ -f /home/dokku/VHOST ]]
remote: + GLOBAL_VHOST=xxx.pw
remote: + [[ -n '' ]]
remote: + [[ xxx.pw =~ ([0-9]{1,3}[\.]){3}[0-9]{1,3} ]]
remote: + [[ xxx.pw =~ ([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3} ]]
remote: + [[ -z xxx.pw ]]
remote: + [[ -f /home/dokku/coach2/VHOST ]]
remote: + echo false
remote: + BIND_EXTERNAL=false
remote: + [[ false = \f\a\l\s\e ]]
remote: + port=5000
remote: ++ docker run -d -e PORT=5000 dokku/coach2 /bin/bash -c '/start web'
remote: + id=bee62102dfcaa930beaf2ad971452f3f5eba87165ca61cc6a7cc436d86a3d203
remote: ++ docker inspect --format '{{ .NetworkSettings.IPAddress }}' bee62102dfcaa930beaf2ad971452f3f5eba87165ca61cc6a7cc436d86a3d203
remote: + ipaddr=172.17.0.57
remote: + echo 172.17.0.57
remote: + trap kill_new INT TERM EXIT
remote: + echo '-----> Running pre-flight checks'
remote: + pluginhook check-deploy bee62102dfcaa930beaf2ad971452f3f5eba87165ca61cc6a7cc436d86a3d203 coach2 5000 172.17.0.57
remote: �[1G-----> Running pre-flight checks
remote: + CONTAINERID=bee62102dfcaa930beaf2ad971452f3f5eba87165ca61cc6a7cc436d86a3d203
remote: + APP=coach2
remote: + PORT=5000
remote: + HOSTNAME=172.17.0.57
remote: + [[ -f /home/dokku/coach2/ENV ]]
remote: + source /home/dokku/coach2/ENV
remote: + FILENAME=/home/dokku/coach2/CHECKS
remote: + WAIT=5
remote: + [[ ! -f /home/dokku/coach2/CHECKS ]]
remote: + echo ' check-deploy: /home/dokku/coach2/CHECKS not found. attempting to retrieve it from container ...'
remote: �[1G check-deploy: /home/dokku/coach2/CHECKS not found. attempting to retrieve it from container ...
remote: ++ mktemp -d /tmp/CHECKS.XXXXX
remote: + TMPDIR=/tmp/CHECKS.LHXsl
remote: + docker cp bee62102dfcaa930beaf2ad971452f3f5eba87165ca61cc6a7cc436d86a3d203:/app/CHECKS /tmp/CHECKS.LHXsl
remote: + true
remote: + [[ ! -s /tmp/CHECKS.LHXsl/CHECKS ]]
remote: + echo ' CHECKS file not found in container. skipping checks.'
remote: + rm -rf /tmp/CHECKS.LHXsl
remote: �[1G CHECKS file not found in container. skipping checks.
remote: + exit 0
remote: + echo bee62102dfcaa930beaf2ad971452f3f5eba87165ca61cc6a7cc436d86a3d203
remote: + echo 5000
remote: + echo http://xxx.pw:5000
remote: + echo '-----> Running post-deploy'
remote: + pluginhook post-deploy coach2 5000 172.17.0.57
remote: �[1G-----> Running post-deploy
remote: + APP=coach2
remote: + PORT=5000
remote: + IP=172.17.0.57
remote: + set +e
remote: ++ dokku config:get coach2 NO_VHOST
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + implemented=0
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/00_dokku-standard/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/apps/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/backup/commands config:get coach2 NO_VHOST
remote: + CURRENT_BACKUP_VERSION=1
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/config/commands config:get coach2 NO_VHOST
remote: + ENV_FILE=/home/dokku/coach2/ENV
remote: + ENV_FILE_TEMP=/home/dokku/coach2/ENV.tmp
remote: + case "$1" in
remote: + [[ -z coach2 ]]
remote: + [[ ! -d /home/dokku/coach2 ]]
remote: + APP=coach2
remote: + [[ -z NO_VHOST ]]
remote: + config_create
remote: + '[' -f /home/dokku/coach2/ENV ']'
remote: + [[ ! -s /home/dokku/coach2/ENV ]]
remote: + exit 0
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/custom-domains/commands config:get coach2 NO_VHOST
remote: + [[ config:get == domains ]]
remote: + [[ config:get == domains:* ]]
remote: + case "$1" in
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/domains/commands config:get coach2 NO_VHOST
remote: + RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/git/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/nginx-vhosts/commands config:get coach2 NO_VHOST
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + '[' 1 -eq 0 ']'
remote: + NO_VHOST=
remote: + set -e
remote: + [[ -n '' ]]
remote: + [[ ! -f /home/dokku/coach2/VHOST ]]
remote: + dokku nginx:build-config coach2 5000 172.17.0.57
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + implemented=0
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/00_dokku-standard/commands nginx:build-config coach2 5000 172.17.0.57
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/apps/commands nginx:build-config coach2 5000 172.17.0.57
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/backup/commands nginx:build-config coach2 5000 172.17.0.57
remote: + CURRENT_BACKUP_VERSION=1
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/config/commands nginx:build-config coach2 5000 172.17.0.57
remote: + ENV_FILE=/home/dokku/coach2/ENV
remote: + ENV_FILE_TEMP=/home/dokku/coach2/ENV.tmp
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/custom-domains/commands nginx:build-config coach2 5000 172.17.0.57
remote: + [[ nginx:build-config == domains ]]
remote: + [[ nginx:build-config == domains:* ]]
remote: + case "$1" in
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/domains/commands nginx:build-config coach2 5000 172.17.0.57
remote: + RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/git/commands nginx:build-config coach2 5000 172.17.0.57
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/nginx-vhosts/commands nginx:build-config coach2 5000 172.17.0.57
remote: + case "$1" in
remote: + APP=coach2
remote: + DOKKU_APP_LISTEN_PORT=5000
remote: + DOKKU_APP_LISTEN_IP=172.17.0.57
remote: + VHOST_PATH=/home/dokku/coach2/VHOST
remote: + WILDCARD_SSL=/home/dokku/tls
remote: + SSL=/home/dokku/coach2/tls
remote: + [[ -z 5000 ]]
remote: + [[ -z 172.17.0.57 ]]
remote: + [[ -f /home/dokku/coach2/ENV ]]
remote: + source /home/dokku/coach2/ENV
remote: + [[ ! -n '' ]]
remote: + [[ -f /home/dokku/coach2/VHOST ]]
remote: ++ cat /home/dokku/coach2/VHOST
remote: + NONSSL_VHOSTS=coach2.xxx.pw
remote: + [[ -e /home/dokku/coach2/tls/server.crt ]]
remote: + [[ -e /home/dokku/tls/server.crt ]]
remote: + NGINX_CONF=/var/lib/dokku/plugins/nginx-vhosts/templates/nginx.conf
remote: + SCHEME=http
remote: + [[ -n '' ]]
remote: + APP_NGINX_TEMPLATE=/home/dokku/coach2/nginx.conf.template
remote: + [[ -f /home/dokku/coach2/nginx.conf.template ]]
remote: + xargs -i echo '-----> Configuring {}...'
remote: �[1G-----> Configuring coach2.xxx.pw...
remote: ++ tr '\n' ' '
remote: ++ echo coach2.xxx.pw
remote: + NOSSL_SERVER_NAME='coach2.xxx.pw '
remote: + [[ -n 5000 ]]
remote: + [[ -n 172.17.0.57 ]]
remote: + echo '-----> Creating http nginx.conf'
remote: + echo 'upstream coach2 { server 172.17.0.57:5000; }'
remote: �[1G-----> Creating http nginx.conf
remote: + eval 'cat <<< "server {
remote: listen [::]:80;
remote: listen 80;
remote: server_name $NOSSL_SERVER_NAME;
remote: location / {
remote: proxy_pass http://$APP;
remote: proxy_http_version 1.1;
remote: proxy_set_header Upgrade \$http_upgrade;
remote: proxy_set_header Connection "upgrade";
remote: proxy_set_header Host \$http_host;
remote: proxy_set_header X-Forwarded-Proto \$scheme;
remote: proxy_set_header X-Forwarded-For \$remote_addr;
remote: proxy_set_header X-Forwarded-Port \$server_port;
remote: proxy_set_header X-Request-Start \$msec;
remote: }
remote: include $DOKKU_ROOT/$APP/nginx.conf.d/*.conf;
remote: }" >> /home/dokku/coach2/nginx.conf'
remote: ++ cat
remote: + echo '-----> Running nginx-pre-reload'
remote: + pluginhook nginx-pre-reload coach2 5000 172.17.0.57
remote: �[1G-----> Running nginx-pre-reload
remote: + APP=coach2
remote: + DOMAINS_FILE=/home/dokku/coach2/DOMAINS
remote: + [[ -f /home/dokku/coach2/DOMAINS ]]
remote: + DOMAINS=
remote: + sed -i -r 's/server_name ([^; \n\t]*)([^;]*)(;?)/server_name \1 ;/' /home/dokku/coach2/nginx.conf
remote: + echo ' Reloading nginx'
remote: + restart_nginx
remote: �[1G Reloading nginx
remote: + case "$DOKKU_DISTRO" in
remote: + sudo /etc/init.d/nginx reload
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + '[' 1 -eq 0 ']'
remote: + trap - INT TERM EXIT
remote: + [[ -n 4ad4c4c0efc267e149ce3b2f9c2da10ffb7aaa00180cadbfbec2fafb238361cc ]]
remote: + WAIT=60
remote: + echo '-----> Shutting down old container in 60 seconds'
remote: + disown -a
remote: + sleep 0.1
remote: �[1G-----> Shutting down old container in 60 seconds
remote: + exec
remote: + echo '=====> Application deployed:'
remote: �[1G=====> Application deployed:
remote: + sed 's/^/ /'
remote: + dokku urls coach2
remote: ++ id -un
remote: + [[ dokku != \d\o\k\k\u ]]
remote: + [[ -n '' ]]
remote: + case "$1" in
remote: + implemented=0
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/00_dokku-standard/commands urls coach2
remote: + case "$1" in
remote: + [[ -z coach2 ]]
remote: + [[ ! -d /home/dokku/coach2 ]]
remote: + APP=coach2
remote: + SCHEME=http
remote: + SSL=/home/dokku/coach2/tls
remote: + WILDCARD_SSL=/home/dokku/tls
remote: + [[ -e /home/dokku/coach2/tls/server.crt ]]
remote: + [[ -e /home/dokku/tls/server.crt ]]
remote: + [[ -f /home/dokku/coach2/VHOST ]]
remote: + case "$1" in
remote: + for vhost in '$(< "$DOKKU_ROOT/$APP/VHOST")'
remote: + echo http://coach2.xxx.pw
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/apps/commands urls coach2
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/backup/commands urls coach2
remote: + CURRENT_BACKUP_VERSION=1
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/config/commands urls coach2
remote: + ENV_FILE=/home/dokku/coach2/ENV
remote: + ENV_FILE_TEMP=/home/dokku/coach2/ENV.tmp
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/custom-domains/commands urls coach2
remote: + [[ urls == domains ]]
remote: + [[ urls == domains:* ]]
remote: + case "$1" in
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/domains/commands urls coach2
remote: + RE_IPV4='([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|'
remote: + RE_IPV6='([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}([0-9]{1,3}[\.]){3}[0-9]{1,3}|([0-9a-fA-F]{1,4}:){1,4}:([0-9]{1,3}[\.]){3}[0-9]{1,3}'
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/git/commands urls coach2
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/nginx-vhosts/commands urls coach2
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + '[' 1 -eq 0 ']'
remote: + echo
remote: �[1G http://coach2.xxx.pw
remote: �[1G
remote: + read oldrev newrev refname
remote: + exit_code=0
remote: + set -e
remote: + '[' 0 -eq 10 ']'
remote: + implemented=1
remote: + '[' 0 -ne 0 ']'
remote: + for script in '$PLUGIN_PATH/*/commands'
remote: + set +e
remote: + /var/lib/dokku/plugins/nginx-vhosts/commands git-hook coach2
remote: + case "$1" in
remote: + exit 10
remote: + exit_code=10
remote: + set -e
remote: + '[' 10 -eq 10 ']'
remote: + continue
remote: + '[' 1 -eq 0 ']'
+ exit_code=0
+ set -e
+ '[' 0 -eq 10 ']'
+ implemented=1
+ '[' 0 -ne 0 ']'
+ for script in '$PLUGIN_PATH/*/commands'
+ set +e
+ /var/lib/dokku/plugins/nginx-vhosts/commands git-receive-pack ''\''coach2'\'''
+ case "$1" in
+ exit 10
+ exit_code=10
+ set -e
+ '[' 10 -eq 10 ']'
+ continue
+ '[' 1 -eq 0 ']'
+ exit 0
To [email protected]:coach2
84014e5..0e99272 master -> master
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20fd575a488f dokku/coach2:latest "/bin/bash -c '/star 6 minutes ago Up 6 minutes boring_newton
bee62102dfca dokku/coach2:latest "/bin/bash -c '/star 10 minutes ago Up 10 minutes distracted_brown
nginx.conf for coach2
server {
listen [::]:80;
listen 80;
server_name coach2.xxx.pw ;
location / {
proxy_pass http://coach2;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/coach2/nginx.conf.d/*.conf;
}
$ cat /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
server_tokens off;
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/*;
}
cat dokku.conf
include /home/dokku/*/nginx.conf;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!CAMELLIA;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
#ssl_certificate /home/dokku/tls/server.crt;
#ssl_certificate_key /home/dokku/tls/server.key;
$ ls -lah /home/dokku/*/nginx.conf
-rw-rw-r-- 1 dokku dokku 576 Jan 16 13:35 /home/dokku/coach2/nginx.conf
-rw-rw-r-- 1 dokku dokku 592 Jan 16 13:16 /home/dokku/coach/nginx.conf
-rw-rw-r-- 1 dokku dokku 592 Jan 16 11:14 /home/dokku/helloworld/nginx.conf
-rw-rw-r-- 1 dokku dokku 592 Jan 16 12:55 /home/dokku/whiteboard/nginx.conf
$ git clone [email protected]:ruedap/node-hello-world.git
$ git remote add deploy [email protected]:test
$ git push deploy master
$ git commit --allow-empty -m "test"
$ git push deploy master
$ git commit --allow-empty -m "test"
$ git push deploy master
$ git commit --allow-empty -m "test"
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38a6de59dfe6 dokku/test:latest "/bin/bash -c '/star 1 seconds ago Up 1 seconds romantic_sinoussi
b16be6c5dae3 5b515d9a4ac8 "/bin/bash -c '/star 36 seconds ago Up 36 seconds grave_perlman
ebe8d2db6fe6 09e1e1c2cda3 "/bin/bash -c '/star About a minute ago Up About a minute prickly_jones
$ grep coach2.xxx.pw /home/dokku/*/nginx.conf
/home/dokku/coach2/nginx.conf: server_name coach2.xxx.pw ;
$ grep -r coach2.xxx.pw /etc/nginx/
/etc/nginx/conf.d/dokku.conf:include /home/dokku/*/nginx.conf;
/etc/nginx/snippets/fastcgi-php.conf:include fastcgi.conf;
/etc/nginx/nginx.conf.dpkg-old: include /etc/nginx/mime.types;
/etc/nginx/nginx.conf.dpkg-old: include /etc/nginx/conf.d/*.conf;
/etc/nginx/nginx.conf.dpkg-old: include /etc/nginx/sites-enabled/*;
/etc/nginx/nginx.conf: include /etc/nginx/mime.types;
/etc/nginx/nginx.conf: include /etc/nginx/conf.d/*.conf;
/etc/nginx/nginx.conf: include /etc/nginx/sites-enabled/*;
/etc/nginx/sites-available/default: # include snippets/snakeoil.conf;
/etc/nginx/sites-available/default: # include snippets/fastcgi-php.conf;
cat /home/dokku/*/nginx.conf
upstream coach2 { server 172.17.0.57:5000; }
server {
listen [::]:80;
listen 80;
server_name coach2.xxx.pw ;
location / {
proxy_pass http://coach2;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/coach2/nginx.conf.d/*.conf;
}
upstream coach { server 172.17.0.39:5000; }
server {
listen [::]:80;
listen 80;
server_name coach.xxx.pw coach.thebaydoor.com;
location / {
proxy_pass http://coach;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/coach/nginx.conf.d/*.conf;
}
upstream helloworld { server 127.0.0.1:49154; }
server {
listen [::]:80;
listen 80;
server_name helloworld.xxx.pw;
location / {
proxy_pass http://helloworld;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/helloworld/nginx.conf.d/*.conf;
}
upstream test { server 172.17.0.75:5000; }
server {
listen [::]:80;
listen 80;
server_name test.xxx.pw ;
location / {
proxy_pass http://test;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/test/nginx.conf.d/*.conf;
}
upstream whiteboard { server 172.17.0.26:5000; }
server {
listen [::]:80;
listen 80;
server_name whiteboard.xxx.pw ;
location / {
proxy_pass http://whiteboard;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/whiteboard/nginx.conf.d/*.conf;
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment