diff --git a/README.md b/README.md index b1f6c7855..d019ba63a 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ To install the latest stable release, you can run the following commands as a us ### Upgrading -[View the docs for upgrading](http://dokku.viewdocs.io/dokku/upgrading) from an older version of Dokku. +[View the docs for upgrading](http://dokku.viewdocs.io/dokku/getting-started/upgrading/) from an older version of Dokku. ## Documentation @@ -26,11 +26,11 @@ Full documentation - including advanced installation docs - are available online ## Support -You can use [Github Issues](https://github.com/dokku/dokku/issues), check [Troubleshooting](http://dokku.viewdocs.io/dokku/troubleshooting) in the documentation, or join us on [freenode in #dokku](https://webchat.freenode.net/?channels=%23dokku) +You can use [Github Issues](https://github.com/dokku/dokku/issues), check [Troubleshooting](http://dokku.viewdocs.io/dokku/getting-started/troubleshooting/) in the documentation, or join us on [freenode in #dokku](https://webchat.freenode.net/?channels=%23dokku) ## Contribution -After checking [Github Issues](https://github.com/dokku/dokku/issues), the [Troubleshooting Guide](http://dokku.viewdocs.io/dokku/troubleshooting) or having a chat with us on [freenode in #dokku](https://webchat.freenode.net/?channels=%23dokku), feel free to fork and create a Pull Request. +After checking [Github Issues](https://github.com/dokku/dokku/issues), the [Troubleshooting Guide](http://dokku.viewdocs.io/dokku/getting-started/troubleshooting/) or having a chat with us on [freenode in #dokku](https://webchat.freenode.net/?channels=%23dokku), feel free to fork and create a Pull Request. While we may not merge your PR as is, they serve to start conversations and improve the general dokku experience for all users. diff --git a/contrib/dokku-installer.py b/contrib/dokku-installer.py index 21234a6b2..6c29011d4 100755 --- a/contrib/dokku-installer.py +++ b/contrib/dokku-installer.py @@ -218,7 +218,7 @@ PAGE = """ $.post('/setup', data) .done(function() { $("#result").html("Success!") - window.location.href = "http://progrium.viewdocs.io/dokku/application-deployment"; + window.location.href = "http://progrium.viewdocs.io/dokku/deployment/application-deployment/"; }) .fail(function(data) { $("#result").html("Something went wrong...") diff --git a/docs/backup-recovery.md b/docs/advanced-usage/backup-recovery.md similarity index 94% rename from docs/backup-recovery.md rename to docs/advanced-usage/backup-recovery.md index 032eba0d4..1310da765 100644 --- a/docs/backup-recovery.md +++ b/docs/advanced-usage/backup-recovery.md @@ -26,7 +26,7 @@ dokku postgres:import [db_name] < [db_name].dump Dokku doesn't enforce a [300mb](https://devcenter.heroku.com/articles/slug-compiler#slug-size) limit on apps, but it's best practice to keep binary assets outside of git. Since containers are considered volatile in Dokku, external stores like s3 or storage mounts should be used for non-volatile items like user uploads. The dokku storage core plugin can be used to mount local directories / volumes inside the docker container. -See the [persistent storage documentation](/dokku/dokku-storage/) for more details. +See the [persistent storage documentation](/dokku/advanced-usage/persistent-storage/) for more details. ## Disaster Recovery diff --git a/docs/deployment/deployment-tasks.md b/docs/advanced-usage/deployment-tasks.md similarity index 100% rename from docs/deployment/deployment-tasks.md rename to docs/advanced-usage/deployment-tasks.md diff --git a/docs/docker-options.md b/docs/advanced-usage/docker-options.md similarity index 94% rename from docs/docker-options.md rename to docs/advanced-usage/docker-options.md index 2c67221fc..cd6261ae8 100644 --- a/docs/docker-options.md +++ b/docs/advanced-usage/docker-options.md @@ -28,7 +28,7 @@ Dokku deploys your application in multiple "phases" and the `docker-options` plu ### Add Docker options -Add some options for the deployed/running app and when executing [`dokku run`](deployment/one-off-processes/): +Add some options for the deployed/running app and when executing [`dokku run`](/dokku/deployment/one-off-processes/): ```shell # Mount a host volume in a Docker container: "-v /host/path:/container/path" @@ -42,10 +42,13 @@ dokku docker-options:add myapp run "-v /home/dokku/logs/myapp:/app/logs" ```shell dokku docker-options myapp -# Deploy options: -# -v /home/dokku/logs/myapp:/app/logs -# Run options: -# -v /home/dokku/logs/myapp:/app/logs +``` + +``` +Deploy options: + -v /home/dokku/logs/myapp:/app/logs +Run options: + -v /home/dokku/logs/myapp:/app/logs ``` ### Remove a Docker option diff --git a/docs/dokku-events-logs.md b/docs/advanced-usage/event-logs.md similarity index 92% rename from docs/dokku-events-logs.md rename to docs/advanced-usage/event-logs.md index 9e2024f4a..524a6423e 100644 --- a/docs/dokku-events-logs.md +++ b/docs/advanced-usage/event-logs.md @@ -23,7 +23,7 @@ dokku events:on Enabling dokku events logger ``` -Dokku will then write log entries to ``/var/log/syslog`` as well as a Dokku-specific logs sub-directory ``/var/log/dokku/events.log``, which can be easily displayed with the command `dokku events`: +Dokku will then write log entries to `/var/log/syslog` as well as a Dokku-specific logs sub-directory `/var/log/dokku/events.log`, which can be easily displayed with the command `dokku events`: ```shell dokku events diff --git a/docs/dokku-storage.md b/docs/advanced-usage/persistent-storage.md similarity index 96% rename from docs/dokku-storage.md rename to docs/advanced-usage/persistent-storage.md index 4c593dadd..a3e35fa65 100644 --- a/docs/dokku-storage.md +++ b/docs/advanced-usage/persistent-storage.md @@ -1,4 +1,4 @@ -# Dokku Core Storage Plugin +# Persistent Storage > New as of 0.5.0 @@ -23,7 +23,7 @@ This example demonstrates how to mount the recommended directory to `/storage` i dokku storage:mount app-name /var/lib/dokku/data/storage:/storage ``` -Dokku will then mount the shared contents of`/var/lib/dokku/data/storage` to `/storage` inside the container. +Dokku will then mount the shared contents of `/var/lib/dokku/data/storage` to `/storage` inside the container. A more complete workflow may require making a custom directory for your application and mounting it within your `/app/storage` directory instead. The mount point is *not* relative to your application's working directory, and is instead relative to the root of the container. diff --git a/docs/proxy.md b/docs/advanced-usage/proxy-management.md similarity index 99% rename from docs/proxy.md rename to docs/advanced-usage/proxy-management.md index 262149849..50ccd243d 100644 --- a/docs/proxy.md +++ b/docs/advanced-usage/proxy-management.md @@ -1,4 +1,4 @@ -# Proxy plugin +# Proxy Management > New as of 0.5.0, Enhanced in 0.6.0 diff --git a/docs/appendices/0.5.0-migration-guide.md b/docs/appendices/0.5.0-migration-guide.md index 0890507ae..58f1d1424 100644 --- a/docs/appendices/0.5.0-migration-guide.md +++ b/docs/appendices/0.5.0-migration-guide.md @@ -5,11 +5,11 @@ - The nginx-vhosts template language is now [sigil](https://github.com/gliderlabs/sigil) - No need to escape literal `$` characters (or other "bash-isms") - Template variables are represented as {{ .VARIABLE_NAME }} - - A detailed list of template variables can be found [here](/dokku/nginx#available-template-variables) + - A detailed list of template variables can be found [here](/dokku/configuration/nginx/#available-template-variables) - A custom nginx-vhosts template must be named `nginx.conf.sigil` - The default path for this custom template is the root of your repo (i.e. `/app` in the container or `WORKDIR` if defined in a dockerfile app) - Dokku no longer looks for this file in `/home/dokku/myapp` on the dokku server - - Check out an example template [here](/dokku/nginx/) + - Check out an example template [here](/dokku/configuration/nginx/) - Support for server-wide SSL certs have been dropped in favor of using the `certs` plugin - `dokku certs:add myapp < certs.tar` - All domains for an SSL-enabled app will be redirected to https by default @@ -22,4 +22,4 @@ - Dockerfiles with `EXPOSE` clauses will get [all **tcp** ports proxied by default](/dokku/deployment/dockerfiles/#exposed-ports) - Note that nginx will proxy the same port numbers to listen publicly - - UDP ports can be exposed by disabling the [nginx proxy](/dokku/proxy/) with `dokku proxy:disable myapp` + - UDP ports can be exposed by disabling the [nginx proxy](/dokku/advanced-usage/proxy-management/) with `dokku proxy:disable myapp` diff --git a/docs/appendices/0.6.0-migration-guide.md b/docs/appendices/0.6.0-migration-guide.md index 09a8bee29..e1c5b0272 100644 --- a/docs/appendices/0.6.0-migration-guide.md +++ b/docs/appendices/0.6.0-migration-guide.md @@ -7,16 +7,16 @@ - `DOKKU_CHECKS_ENABLED` has been migrated to `DOKKU_CHECKS_SKIPPED` - `DOKKU_CHECKS_DISABLED` is now a thing - The values for the above can be a comma-separated list of process-types or the literal string `_all_` - - See the [updated `checks`](/dokku/checks-examples/) docs for more info + - See the [updated `checks`](/dokku/deployment/zero-downtime-deploys/) docs for more info ## proxy port mapping - You can now configure host -> container proxy port mappings - - The UI is handled by the [proxy](/dokku/proxy/) interface plugin by setting the `DOKKU_PROXY_PORT_MAP` config variable in the format of `scheme:host-port:container-port`. The default `nginx-vhosts` proxy plugin supports both the `http` and `https` schemes. + - The UI is handled by the [proxy](/dokku/advanced-usage/proxy-management/) interface plugin by setting the `DOKKU_PROXY_PORT_MAP` config variable in the format of `scheme:host-port:container-port`. The default `nginx-vhosts` proxy plugin supports both the `http` and `https` schemes. - Default port mappings - buildpack apps will be set to `http:80:5000` and will also include `https:443:5000` if SSL is enabled. - dockerfile apps with explicitly exposed ports (i.e. using the `EXPOSE` directive) will be configured with a listener on each exposed port that proxies to the same port of the deployed application container. - - You may override this behavior with the [`proxy:ports-*` commands](/dokku/proxy/) or by directly setting `DOKKU_PROXY_PORT_MAP` with the `config:set` command + - You may override this behavior with the [`proxy:ports-*` commands](/dokku/advanced-usage/proxy-management/) or by directly setting `DOKKU_PROXY_PORT_MAP` with the `config:set` command - dockerfile apps without explicitly exposed ports will behave the same as a buildpack app - NOTE: These defaults **are not** automatically changed on subsequent pushes and must be manipulated with the aforementioned commands diff --git a/docs/plugins.md b/docs/community/plugins.md similarity index 99% rename from docs/plugins.md rename to docs/community/plugins.md index befb5cf9e..be7f248ff 100644 --- a/docs/plugins.md +++ b/docs/community/plugins.md @@ -26,7 +26,7 @@ dokku plugins-install ## Creating your own plugin -[See the full documentation](/dokku/development/plugin-creation). +[See the full documentation](/dokku/development/plugin-creation/). ## Official Plugins (Beta) diff --git a/docs/components.md b/docs/components.md deleted file mode 100644 index 91ee33ecc..000000000 --- a/docs/components.md +++ /dev/null @@ -1,8 +0,0 @@ -# Components - - * [Docker](https://github.com/dotcloud/docker) - Container runtime and manager - * [Herokuish](https://github.com/gliderlabs/herokuish) - Buildpack builder - * [plugn](https://github.com/dokku/plugn) - Shell based plugins and hooks - * [sshcommand](https://github.com/dokku/sshcommand) - Fixed commands over SSH - -Looking to keep codebase as simple and hackable as possible, so try to keep your line count down. diff --git a/docs/dns.md b/docs/configuration/dns.md similarity index 97% rename from docs/dns.md rename to docs/configuration/dns.md index bcee9ddab..5cbbf612e 100644 --- a/docs/dns.md +++ b/docs/configuration/dns.md @@ -70,7 +70,7 @@ If everything is working correctly, you should also be able to query for any oth If they all return your IP address, you have set DNS up properly for dokku. You should also be able to `ssh root@myserver.example.tld` and access your server. -Proceed with the setup instructions in the [README](https://github.com/dokku/dokku/blob/master/README.md) +Proceed with the setup instructions in the [installation documentation](/dokku/getting-started/installation/) #### Using the root of your domain (myapp.example.tld) diff --git a/docs/deployment/domain-configuration.md b/docs/configuration/domains.md similarity index 100% rename from docs/deployment/domain-configuration.md rename to docs/configuration/domains.md diff --git a/docs/configuration-management.md b/docs/configuration/environment-variables.md similarity index 100% rename from docs/configuration-management.md rename to docs/configuration/environment-variables.md diff --git a/docs/nginx.md b/docs/configuration/nginx.md similarity index 92% rename from docs/nginx.md rename to docs/configuration/nginx.md index 8c3d05a2f..2c4f441cd 100644 --- a/docs/nginx.md +++ b/docs/configuration/nginx.md @@ -202,36 +202,36 @@ The example above uses additional configuration files directly on the dokku host ## Domains plugin -See the [domain-configuration documentation](/dokku/deployment/domain-configuration/). +See the [domain configuration documentation](/dokku/configuration/domains/). ## Customizing hostnames -See the [customizing hostnames documentation](/dokku/deployment/domain-configuration/#customizing-hostnames). +See the [customizing hostnames documentation](/dokku/configuration/domains/#customizing-hostnames). ## Disabling VHOSTS -See the [disabling vhosts documentation](/dokku/deployment/domain-configuration/#disabling-vhosts). +See the [disabling vhosts documentation](/dokku/configuration/domains/#disabling-vhosts). ## Default site -See the [default site documentation](/dokku/deployment/domain-configuration/#default-site). +See the [default site documentation](/dokku/configuration/domains/#default-site). ## Running behind a load balancer -See the [load balancer documentation](/dokku/deployment/ssl-configuration/#running-behind-a-load-balancer). +See the [load balancer documentation](/dokku/configuration/ssl/#running-behind-a-load-balancer). ## HSTS Header -See the [HSTS documentation](/dokku/deployment/ssl-configuration/#hsts-header). +See the [HSTS documentation](/dokku/configuration/ssl/#hsts-header). ## SSL Configuration -See the [ssl documentation](/dokku/deployment/ssl-configuration/). +See the [ssl documentation](/dokku/configuration/ssl/). ## Disabling Nginx -See the [proxy documentation](/dokku/proxy/). +See the [proxy documentation](/dokku/advanced-usage/proxy-management/). ## Managing Proxy Port mappings -See the [proxy documentation](/dokku/proxy/#proxy-port-mapping). +See the [proxy documentation](/dokku/advanced-usage/proxy-management/#proxy-port-mapping). diff --git a/docs/deployment/ssl-configuration.md b/docs/configuration/ssl.md similarity index 97% rename from docs/deployment/ssl-configuration.md rename to docs/configuration/ssl.md index 4435a600b..9a5cfc18c 100644 --- a/docs/deployment/ssl-configuration.md +++ b/docs/configuration/ssl.md @@ -39,9 +39,9 @@ cat yourdomain_com.crt yourdomain_com.ca-bundle > server.crt #### SSL and Multiple Domains -When an SSL certificate is associated to an application, the certificate will be associated with *all* domains currently associated with said application. Your certificate _should_ be associated with all of those domains, otherwise accessing the application will result in SSL errors. If you wish to remove one of the domains from the application, refer to the [domain configuration documentation](/dokku/deployment/domain-configuration/). +When an SSL certificate is associated to an application, the certificate will be associated with *all* domains currently associated with said application. Your certificate _should_ be associated with all of those domains, otherwise accessing the application will result in SSL errors. If you wish to remove one of the domains from the application, refer to the [domain configuration documentation](/dokku/configuration/domains/). -Note that with the default nginx template, requests will be redirected to the `https` version of the domain. If this is not the desired state of request resolution, you may customize the nginx template in use. For more details, see the [nginx documentation](/dokku/nginx/). +Note that with the default nginx template, requests will be redirected to the `https` version of the domain. If this is not the desired state of request resolution, you may customize the nginx template in use. For more details, see the [nginx documentation](/dokku/configuration/nginx/). ### Certificate generation @@ -86,7 +86,7 @@ Beware that if you enable the header and a subsequent deploy of your application Your application has access to the HTTP headers `X-Forwarded-Proto`, `X-Forwarded-For` and `X-Forwarded-Port`. These headers indicate the protocol of the original request (HTTP or HTTPS), the port number, and the IP address of the client making the request, respectively. The default configuration is for Nginx to set these headers. -If your server runs behind an HTTP/S load balancer, then Nginx will see all requests as coming from the load balancer. If your load balancer sets the `X-Forwarded-` headers, you can tell Nginx to pass these headers from load balancer to your application by using the following [nginx custom template](/dokku/nginx/#customizing-the-nginx-configuration) +If your server runs behind an HTTP/S load balancer, then Nginx will see all requests as coming from the load balancer. If your load balancer sets the `X-Forwarded-` headers, you can tell Nginx to pass these headers from load balancer to your application by using the following [nginx custom template](/dokku/configuration/nginx/#customizing-the-nginx-configuration) ```go server { diff --git a/docs/application-deployment.md b/docs/deployment/application-deployment.md similarity index 95% rename from docs/application-deployment.md rename to docs/deployment/application-deployment.md index 205358927..7babf2e8c 100644 --- a/docs/application-deployment.md +++ b/docs/deployment/application-deployment.md @@ -20,7 +20,7 @@ dokku apps:create ruby-rails-sample ### Create the backing services -When you create a new app, Dokku by default *does not* provide any datastores such as MySQL or PostgreSQL. You will need to install plugins to handle that, but fortunately [Dokku has official plugins](/dokku/plugins/#official-plugins-beta) for common datastores. Our sample app requires a PostgreSQL service: +When you create a new app, Dokku by default *does not* provide any datastores such as MySQL or PostgreSQL. You will need to install plugins to handle that, but fortunately [Dokku has official plugins](/dokku/community/plugins/#official-plugins-beta) for common datastores. Our sample app requires a PostgreSQL service: ```shell # on your dokku host @@ -194,7 +194,7 @@ See the [user management documentation](/dokku/deployment/user-management). ## Default vhost -See the [nginx documentation](/dokku/nginx/#default-site). +See the [nginx documentation](/dokku/configuration/nginx/#default-site). ## Dockerfile deployment @@ -206,8 +206,8 @@ See the [buildpack documentation](/dokku/deployment/buildpacks/). ## Image tagging -See the [image tagging documentation](/dokku/deployment/images). +See the [image tagging documentation](/dokku/deployment/images/). ## Zero downtime deploy -See the [zero-downtime deploy documentation](/dokku/checks-examples/). +See the [zero-downtime deploy documentation](/dokku/deployment/zero-downtime-deploys/). diff --git a/docs/deployment/buildpacks.md b/docs/deployment/buildpacks.md index 180938e58..44130b2c3 100644 --- a/docs/deployment/buildpacks.md +++ b/docs/deployment/buildpacks.md @@ -4,7 +4,7 @@ Dokku normally defaults to using [heroku buildpacks](https://devcenter.heroku.co - Use `dokku config:set` to set the `BUILDPACK_URL` environment variable. - Add `BUILDPACK_URL` to a committed `.env` file in the root of your repository. - - See the [environment variable documentation](/dokku/configuration-management/) for more details. + - See the [environment variable documentation](/dokku/configuration/environment-variables/) for more details. - Create a `.buildpacks` file in the root of your repository. ## Specifying a custom buildpack @@ -59,7 +59,7 @@ dokku config:set APP BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-no ## Specifying commands via Procfile -While many buildpacks have a default command that is run when a detected repository is pushed, it is possible to override this command via a Procfile. A Procfile can also be used to specify multiple commands, each of which is subject to process scaling. See the [process scaling documentation](/dokku/process-management/) for more details around scaling individual processes. +While many buildpacks have a default command that is run when a detected repository is pushed, it is possible to override this command via a Procfile. A Procfile can also be used to specify multiple commands, each of which is subject to process scaling. See the [process scaling documentation](/dokku/deployment/process-management/) for more details around scaling individual processes. A Procfile is a file named `Procfile`. It should be named `Procfile` exactly, and not anything else. For example, `Procfile.txt` is not valid. The file should be a simple text file. @@ -80,7 +80,7 @@ worker: env QUEUE=* bundle exec rake resque:work importantworker: env QUEUE=important bundle exec rake resque:work ``` -The `web` process type holds some significance in that it is the only process type that is automatically scaled to `1` on the initial application deploy. See the [process scaling documentation](/dokku/process-management/) for more details around scaling individual processes. +The `web` process type holds some significance in that it is the only process type that is automatically scaled to `1` on the initial application deploy. See the [process scaling documentation](/dokku/deployment/process-management/) for more details around scaling individual processes. ## Clearing buildpack cache diff --git a/docs/deployment/dockerfiles.md b/docs/deployment/dockerfiles.md index cec7a5134..6cc58da2a 100644 --- a/docs/deployment/dockerfiles.md +++ b/docs/deployment/dockerfiles.md @@ -21,7 +21,7 @@ Dokku will extract all tcp ports exposed using the `EXPOSE` directive (one port If you do not explicitly `EXPOSE` a port in your `Dockerfile`, dokku will configure the nginx proxy to listen on port 80 (and 443 for TLS) and forward traffic to your app listening on port 5000 inside the container. Just like buildpack apps, you can also use the `$PORT` environment variable in your app to maintain portability. -When ports are exposed through the default nginx proxy, they are proxied externally as HTTP ports. At this time, in no case do we proxy plain TCP or UDP ports. If you'd like to investigate alternative proxy methods, please refer to our [proxy documentation](/dokku/proxy/). +When ports are exposed through the default nginx proxy, they are proxied externally as HTTP ports. At this time, in no case do we proxy plain TCP or UDP ports. If you'd like to investigate alternative proxy methods, please refer to our [proxy management documentation](/dokku/advanced-usage/proxy-management/). ## Customizing the run command diff --git a/docs/deployment/images.md b/docs/deployment/images.md index 2644d651c..6bd3d4b8c 100644 --- a/docs/deployment/images.md +++ b/docs/deployment/images.md @@ -57,7 +57,7 @@ dokku tags:deploy node-js-app v1 -----> Deploying node-js-app (dokku/node-js-app:v1)... -----> Running pre-flight checks For more efficient zero downtime deployments, create a file CHECKS. - See http://dokku.viewdocs.io/dokku/checks-examples.md for examples + See http://dokku.viewdocs.io/dokku/deployment/zero-downtime-deploys/ for examples CHECKS file not found in container: Running simple container check... -----> Waiting for 10 seconds ... -----> Default container check successful! diff --git a/docs/process-management.md b/docs/deployment/process-management.md similarity index 100% rename from docs/process-management.md rename to docs/deployment/process-management.md diff --git a/docs/remote-commands.md b/docs/deployment/remote-commands.md similarity index 100% rename from docs/remote-commands.md rename to docs/deployment/remote-commands.md diff --git a/docs/checks-examples.md b/docs/deployment/zero-downtime-deploys.md similarity index 99% rename from docs/checks-examples.md rename to docs/deployment/zero-downtime-deploys.md index 864ec2c13..9d97385eb 100644 --- a/docs/checks-examples.md +++ b/docs/deployment/zero-downtime-deploys.md @@ -130,6 +130,14 @@ If your application runs multiple processes (a background worker configured in y dokku config:set DOKKU_DEFAULT_CHECKS_WAIT=0 ``` +### Configuring docker stop timeout + +[By default](https://docs.docker.com/engine/reference/commandline/stop/), docker will wait 10 seconds from the time the `stop` command is passed to a container before it attempts to kill said container. This timeout can be configured on a per-app basis in dokku by setting the `DOKKU_DOCKER_STOP_TIMEOUT` configuration variable. This timeout applies to normal zero-downtime deployments as well as the `ps:stop` and `apps:destroy` commands. + +```shell +dokku config:set $APP DOKKU_DOCKER_STOP_TIMEOUT=20 +``` + ## Example: Successful Rails Deployment In this example, a Rails application is successfully deployed to dokku. The initial round of checks fails while the server is starting, but once it starts they succeed and the deployment is successful. `WAIT` is set to `10` because our application takes a while to boot up. `ATTEMPTS` is set to `6`, but the third attempt succeeds. @@ -155,7 +163,6 @@ get '/check.txt', to: proc {[200, {}, ['simple_check']]} ```shell git push dokku master ``` -You should see the following output: ``` -----> Cleaning up... @@ -231,8 +238,6 @@ ATTEMPTS=6 git push dokku master ``` -You should see the following output - ``` -----> Cleaning up... -----> Building myapp from herokuish... @@ -312,11 +317,3 @@ To dokku@dokku.example.com:myapp ! [remote rejected] dokku -> master (pre-receive hook declined) error: failed to push some refs to 'dokku@dokku.example.com:myapp' ``` - -### Configuring docker stop timeout - -[By default](https://docs.docker.com/engine/reference/commandline/stop/), docker will wait 10 seconds from the time the `stop` command is passed to a container before it attempts to kill said container. This timeout can be configured on a per-app basis in dokku by setting the `DOKKU_DOCKER_STOP_TIMEOUT` configuration variable. This timeout applies to normal zero-downtime deployments as well as the `ps:stop` and `apps:destroy` commands. - -```shell -dokku config:set $APP DOKKU_DOCKER_STOP_TIMEOUT=20 -``` diff --git a/docs/development/plugin-creation.md b/docs/development/plugin-creation.md index 78b1d1d5a..c37b73aba 100644 --- a/docs/development/plugin-creation.md +++ b/docs/development/plugin-creation.md @@ -5,7 +5,7 @@ If you create your own plugin: 1. Take a look at the plugins shipped with dokku and hack away! 2. Check out the [list of triggers](/dokku/development/plugin-triggers) your plugin can implement. 3. Upload your plugin to github with a repository name in form of `dokku-` (e.g. `dokku-mariadb`) -4. Edit [this page](/dokku/plugins) and add a link to it. +4. Edit [this page](/dokku/community/plugins/) and add a link to it. 5. Subscribe to the [dokku development blog](http://progrium.com) to be notified about API changes and releases diff --git a/docs/advanced-installation.md b/docs/getting-started/advanced-installation.md similarity index 98% rename from docs/advanced-installation.md rename to docs/getting-started/advanced-installation.md index 601f863d0..97e66db60 100644 --- a/docs/advanced-installation.md +++ b/docs/getting-started/advanced-installation.md @@ -52,7 +52,7 @@ Once dokku is installed, if you are not using the web-installer, you'll want to Set up a domain and a wildcard domain pointing to that host. Make sure `/home/dokku/VHOST` is set to this domain. By default it's set to whatever hostname the host has. This file is only created if the hostname can be resolved by dig (`dig +short $(hostname -f)`). Otherwise you have to create the file manually and set it to your preferred domain. If this file still is not present when you push your app, dokku will publish the app with a port number (i.e. `http://example.com:49154` - note the missing subdomain). -Follow the [user management documentation](/dokku/deployment/user-management) in order to add users to dokku. +Follow the [user management documentation](/dokku/deployment/user-management/) in order to add users to dokku. That's it! diff --git a/docs/getting-started/install/linode.md b/docs/getting-started/install/linode.md index 773f0f822..f63ce5d10 100644 --- a/docs/getting-started/install/linode.md +++ b/docs/getting-started/install/linode.md @@ -38,4 +38,4 @@ __Warning__: These steps will delete *everything* on your Linode. 9. Lastly, reboot the Linode. -Once your server comes back online, you'll be running Ubuntu's default kernel. You can now follow Dokku's [normal installation instructions](/dokku/installation) and `bootstrap.sh` will take care of everything else. +Once your server comes back online, you'll be running Ubuntu's default kernel. You can now follow Dokku's [normal installation instructions](/dokku/getting-started/installation/) and `bootstrap.sh` will take care of everything else. diff --git a/docs/installation.md b/docs/getting-started/installation.md similarity index 92% rename from docs/installation.md rename to docs/getting-started/installation.md index b67ecb1cc..4020fa6bd 100644 --- a/docs/installation.md +++ b/docs/getting-started/installation.md @@ -46,11 +46,11 @@ For various reasons, certain hosting providers may have other steps that should As well, you may wish to customize your installation in some other fashion. or experiment with vagrant. The guides below should get you started: -- [Debian Package Installation Notes](/dokku/getting-started/install/debian) -- [Vagrant Installation Notes](/dokku/getting-started/install/vagrant) -- [Advanced Install Customization](/dokku/advanced-installation) +- [Debian Package Installation Notes](/dokku/getting-started/install/debian/) +- [Vagrant Installation Notes](/dokku/getting-started/install/vagrant/) +- [Advanced Install Customization](/dokku/getting-started/advanced-installation/) --- - [1]: To check whether your system has an fqdn set, run `sudo hostname -f` -- [2]: If your system has less than 1GB of memory, you can use [this workaround](/dokku/advanced-installation/#vms-with-less-than-1gb-of-memory). +- [2]: If your system has less than 1GB of memory, you can use [this workaround](/dokku/getting-started/advanced-installation/#vms-with-less-than-1gb-of-memory). diff --git a/docs/troubleshooting.md b/docs/getting-started/troubleshooting.md similarity index 100% rename from docs/troubleshooting.md rename to docs/getting-started/troubleshooting.md diff --git a/docs/upgrading.md b/docs/getting-started/upgrading.md similarity index 93% rename from docs/upgrading.md rename to docs/getting-started/upgrading.md index b0c140a52..08745c84f 100644 --- a/docs/upgrading.md +++ b/docs/getting-started/upgrading.md @@ -1,6 +1,6 @@ # Upgrading -If your version of dokku is pre 0.3.0 (check with `dokku version`), we recommend [a fresh install](/dokku/installation) on a new server. +If your version of dokku is pre 0.3.0 (check with `dokku version`), we recommend [a fresh install](/dokku/getting-started/installation/) on a new server. ## Migration Guides diff --git a/docs/getting-started/where-to-get-help.md b/docs/getting-started/where-to-get-help.md index ce9ab1490..b0f6fb591 100644 --- a/docs/getting-started/where-to-get-help.md +++ b/docs/getting-started/where-to-get-help.md @@ -4,7 +4,7 @@ If you’re stuck, there are a number of places you can get help: ## The Official Dokku Website -[http://dokku.viewdocs.io/dokku](/dokku) +- [http://dokku.viewdocs.io/dokku/](/dokku/) The Official Dokku website is always a great place to visit. It features links to oft-used developer tools, community plugins, and guides on using dokku. @@ -17,6 +17,6 @@ If you’re stumped, give us a holler in the Dokku IRC or Slack channels. Someon ## Stack Overflow -http://stackoverflow.com/ +- [https://stackoverflow.com/questions/tagged/dokku](https://stackoverflow.com/questions/tagged/dokku) Tag your questions with `dokku` to enable existing users of Stack Overflow to find your questions. diff --git a/docs/home.html b/docs/home.html index f224a6d25..1ce1ba483 100644 --- a/docs/home.html +++ b/docs/home.html @@ -44,7 +44,7 @@

- Dokku + Dokku

diff --git a/docs/template.html b/docs/template.html index 4e6a6f9a3..54b739083 100644 --- a/docs/template.html +++ b/docs/template.html @@ -86,7 +86,7 @@
diff --git a/docs/viewdocs.json b/docs/viewdocs.json new file mode 100644 index 000000000..f7b28ff41 --- /dev/null +++ b/docs/viewdocs.json @@ -0,0 +1,26 @@ +{ + "redirects": { + "advanced-installation": "getting-started/advanced-installation", + "troubleshooting": "getting-started/troubleshooting", + "upgrading": "getting-started/upgrading", + + "application-deployment": "deployment/application-deployment", + "checks-examples": "deployment/zero-downtime-deploys/", + "process-management": "deployment/process-management/", + "remote-commands": "deployment/remote-commands/", + + "configuration-management": "configuration/environment-variables/", + "deployment/ssl-configuration": "configuration/ssl/", + "dns": "configuration/dns/", + "nginx": "configuration/nginx/", + + "backup-recovery": "advanced-usage/backup-recovery/", + "deployment-tasks": "advanced-usage/deployment-tasks/", + "docker-options": "advanced-usage/docker-options/", + "dokku-events-logs": "advanced-usage/event-logs/", + "dokku-storage": "advanced-usage/persistent-storage/", + "proxy": "advanced-usage/proxy-management/", + + "plugins": "community/plugins/" + } +} diff --git a/plugins/checks/check-deploy b/plugins/checks/check-deploy index 4dc3474eb..f2b0a46c3 100755 --- a/plugins/checks/check-deploy +++ b/plugins/checks/check-deploy @@ -95,7 +95,7 @@ checks_check_deploy() { # We allow custom check for web instances only if [[ "$DOKKU_APP_CONTAINER_TYPE" == "web" ]]; then dokku_log_verbose "For more efficient zero downtime deployments, create a file CHECKS." - dokku_log_verbose "See http://dokku.viewdocs.io/dokku/checks-examples.md for examples" + dokku_log_verbose "See http://dokku.viewdocs.io/dokku/deployment/zero-downtime-deploys/ for examples" dokku_log_verbose "CHECKS file not found in container: Running simple container check..." else dokku_log_verbose "Non web container detected: Running default container check..."