Assaf Arkin
00ec004871
Zero down-time deploy and server checks
...
This change makes Dokku start up the new container, run a set of checks
against it, and only switch traffic over to the new containers if all
checks complete successfully. No requests are dropped during the switch
over.
To specify checks, add a CHECKS file to the root of your project
directory. This is a text file with one line per check. Empty lines and
lines starting with # are ignored.
A check is a relative URL and may be followed by expected content from
the page, for example:
/about Our Amazing Team
Even if you don’t use any checks, this change will prevent downtime
during switching from old to new container.
See: https://labnotes.org/zero-downtime-deploy-with-dokku/
2014-04-28 21:28:50 -07:00
Jessica Frazelle
969aed87c6
double brackets
2014-04-15 09:31:08 -04:00
Jessica Frazelle
2953ed2486
if dokku.conf has not been created, create it
2014-04-14 20:24:18 -04:00
Stafford Brunk
e2135a2c5f
Change cert folder name from ssl to tls
2014-04-08 06:48:50 -06:00
Stafford Brunk
22c25dc40a
Implement nginx spdy support
2014-04-03 07:20:18 -06:00
Stafford Brunk
dfac47cbe2
Allow symlinks for SSL cert detection in nginx-vhosts post-deploy
2014-04-03 07:15:21 -06:00
Stafford Brunk
bd5b2b210c
Factor common SSL settings out to the http block
2014-04-03 07:05:30 -06:00
Stafford Brunk
e33f5c94a5
Use listen 443 ssl instead of ssl on in vhost conf file
2014-04-03 07:04:35 -06:00
Lukas Schauer
95c9656fc8
nginx vhost ipv6 compatibility
...
IPv6 Compatibility (Nginx Default Site is IPv6 compatible, resulting in not-working vhosts when AAAA DNS entry is set)
2013-11-27 12:03:38 -08:00
Paul Lietar
10a8c75224
Add an empty help message to the nginx-vhosts plugin.
...
Not doing anything just destroys the help message coming from previous
plugins. Run cat to forward stdin into stdout.
2013-11-23 00:10:30 +00:00
Paul Lietar
455be29249
Fix commands, the easy way.
...
Don't use pluginhook to run the commands hook, just run all the scripts
in a loop.
2013-11-22 21:42:39 +00:00
rhy-jot
e8037da726
Use globs, set nullglob, and remove stdout redirection for import
2013-11-20 15:40:50 -08:00
rhy-jot
6d64edc16a
Update headers
2013-11-19 21:15:29 -08:00
rhy-jot
dae4e55f25
Merge pull request #265 from asm89/backup
...
Introduce `backup` plugin to export/import settings
2013-11-19 21:07:20 -08:00
Paul Lietar
83ce81fc51
Enable tracing in hooks when DOKKU_TRACE is set.
...
This makes it much easier to debug plugins.
Also source the 'dokkurc' file when starting dokku. This makes it easy
to define DOKKU_TRACE over ssh.
2013-11-18 20:59:48 +00:00
rhy-jot
805c5a27c6
Don't overwrite $DOKKU_ROOT/{HOSTNAME,VHOST}
2013-11-18 11:50:28 -08:00
Paul Lietar
a06d27ab45
Use the FQDN to setup the HOSTNAME and VHOST files.
...
The HOSTNAME environment var only contains the first part of the domain
name. Use the fqdn to have it entirely.
2013-11-15 03:07:51 +00:00
Alexander
8981b9e613
Introduce backup plugin to export/import settings
2013-11-14 21:52:49 +01:00
rhy-jot
3c1666076e
Silence nginx reloading
2013-10-30 17:17:53 -07:00
Jeff Lindsay
df7507d1be
normalizing shebang and bash options. also added long-term fix for bootstrap instructions
2013-10-29 17:13:02 -05:00
Paul Lietar
b5c8dd7436
Use DOKKU_ROOT instead of HOME.
...
HOME is not consistent if dokku is ran e.g. as root (for setup).
The DOKKU_ROOT variable will also make it possible to have the repositories stored in an arbitrary location (works-ish right now)
2013-10-28 21:15:17 +00:00
Paul Lietar
27d4bc8c3c
Replace gitreceive by a git plugin.
...
This removes the need for two distinct users.
Git pushes and dokku commands are sent using the same user.
2013-10-28 21:15:17 +00:00
Jose Diaz-Gonzalez
01d57ef0dc
New command: dokku delete <app>
...
Two new hooks are implemented:
- pre-delete $APP
- post-delete $APP
The following are implemented in the `post-delete` hook:
- `$APP` directory deletion (00_dokku-standard)
- nginx reload (nginx-vhosts)
The following command can be executed by either the `dokku` or `git` user as `sudo`:
sudo /etc/init.d/nginx reload
Refs #124
Closes #186
2013-10-27 17:49:11 -04:00
Jose Diaz-Gonzalez
bcfaefa896
Enable 'nginx reload' support for git and dokku user. Refs #124 . Refs #186
2013-10-25 02:42:49 -04:00
Alexander
85f14baad5
Introduce URL for app. Plugins can override this.
...
fixes #242
2013-10-24 13:44:05 +02:00
Jose Diaz-Gonzalez
a308ff6546
heroku-like configuration handling for dokku
...
refs #55
superscedes #188
2013-10-17 17:47:19 -04:00
Jason Staten
ba1f1bc30d
Add X-Forwarded-Port and X-Request-Start
...
Adding additional proxy headers to match what Heroku provides. Also,
X-Request-Start is compatible with NewRelic's latest agent[1].
[1]: http://blog.newrelic.com/2013/02/21/using-new-relic-on-heroku-read-how-our-new-ruby-agent-measures-queue-time/
2013-09-09 15:46:19 -06:00
Jason Staten
7f4f46a1e2
Set X-Forwarded-Proto Header
...
Heroku passes the X-Forwarded-Proto header to indicate the protocol of
the incoming request[1]. Ruby's rack relies on this header to
determine if a request is HTTPS[2].
Also, the X-Scheme header was removed to eliminate redundant passing of
the scheme.
[1]: https://devcenter.heroku.com/articles/http-routing#heroku-headers
[2]: https://github.com/rack/rack/blob/master/lib/rack/request.rb#L77
2013-09-09 12:12:01 -06:00
Jeffery Utter
1a7d68a3fc
Add nginx configure hook
...
This adds a pluginhook for nginx-configure to be called after the main nginx configuration is called and before nginx is reloaded. This will allow other plugins to modify the nginx configuration
2013-08-27 09:47:41 -05:00
Alexander
774b1f3c45
Merge pull request #180 from asm89/add-run-cmd
...
Add dokku run command to run commands in the app env
2013-08-21 14:47:51 -07:00
Alexander
3e9e6127a7
run-cli -> run, fix help formatting
2013-08-21 00:02:52 +02:00
Alexander
6ead1ab943
Fix that only the output the last plugin command is shown
...
Plugin "commands" should end with "cat" because the output of each
plugin's command is piped through the next one by pluginhook
2013-08-19 21:22:18 +02:00
Alexander
2563581f49
Update help command
2013-08-18 14:32:14 +02:00
Alexander
4b5b86173f
Remove redundant command from dokku-standard plugin
2013-08-18 14:27:38 +02:00
rhy-jot
84cf39bf09
Merge pull request #145 from msumpter/patch-2
...
Added X-Forwarded-For to pass client IP to backend
2013-08-15 21:10:09 -07:00
alexanderbeletsky
5ef7b00243
review comment by @rhy-jot
2013-08-08 10:17:39 +03:00
alexanderbeletsky
9e9cc0c96e
issue #138 : added wildcard support
2013-08-05 18:17:53 +03:00
Mat Sumpter
2f92d500f8
Added X-Forwarded-For to pass client IP to backend
2013-08-05 09:37:40 -04:00
Jeff Lindsay
9b27a3faf6
Merge pull request #104 from alexanderbeletsky/ssl
...
issue #101 : added ssl configuration
2013-08-02 19:47:34 -07:00
alexanderbeletsky
33a3b85674
ssl ciphers config from @rhy-jot
2013-07-31 07:00:46 +03:00
Jeff Lindsay
bb59f47cab
Merge pull request #81 from eugeneware/remove_socket_file
...
Fix for nginx not reloading.
2013-07-24 16:02:29 -07:00
alexanderbeletsky
7f6e6ee8a4
review issues by @progrium
2013-07-24 12:13:50 +03:00
alexanderbeletsky
3bd0f6d3fb
issue #101 : added ssl configuration
...
- application folder /ssl is detected and ssl hginx config added
- readme corrections
2013-07-23 22:01:04 +03:00
Eugene Ware
f4cdc94209
don't use fully qualified name if a subdomain of $HOME/VHOST
2013-07-08 21:12:37 +10:00
Eugene Ware
3eadb0ae03
support for fully qualified domain names
2013-07-08 15:50:17 +10:00
Eugene Ware
6c6196fd5a
check file exists before removing
2013-07-08 15:07:41 +10:00
Eugene Ware
1f4dab1fd8
make reloader service start on reload
2013-07-07 20:27:23 +10:00
Eugene Ware
ee40473a18
Remove socket file before listening for reload
2013-07-07 20:17:19 +10:00
Erik
a0eb48c32b
ensure that the original http_host gets passed in the proxy to the app
2013-07-02 10:20:29 -04:00
Jeff Lindsay
6d8232dc20
Merge pull request #62 from asm89/patch-1
...
Run apt-get update after adding ppa
2013-07-01 14:15:46 -07:00