Skip to content

Instantly share code, notes, and snippets.

@jrschumacher
Created January 16, 2015 18:03
Show Gist options
  • Save jrschumacher/58e5189942f28053a9e1 to your computer and use it in GitHub Desktop.
Save jrschumacher/58e5189942f28053a9e1 to your computer and use it in GitHub Desktop.
docker latest no port issue
$ 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
@jrschumacher
Copy link
Author

$ dokku config coach
=== coach config vars ===
API_URL: http://api.xxx.com
ENV:     staging

@jrschumacher
Copy link
Author

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

@jrschumacher
Copy link
Author

++ 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

@jrschumacher
Copy link
Author

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

@jrschumacher
Copy link
Author

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;
}

@jrschumacher
Copy link
Author

$ 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/*;
}

@jrschumacher
Copy link
Author

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;

@jrschumacher
Copy link
Author

$ 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

@jrschumacher
Copy link
Author

$ 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

@jrschumacher
Copy link
Author

$ 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/

@jrschumacher
Copy link
Author

/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;

@jrschumacher
Copy link
Author

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