Switch branches/tags
Clone or download
palfrey Merge pull request #29 from wesbos/patch-1
Fix documentation error with postgres
Latest commit 8da9a3c Dec 17, 2018



Wharf is an opinionated web frontend for Dokku. You can also use the command line version, but most features you'll need day-to-day are in the Web UI


  1. Install Dokku
  2. Install the following plugins:
  1. Setup the Let's Encrypt plugin to auto-renew (dokku letsencrypt:cron-job --add)
  2. Create the app (dokku apps:create wharf)
  3. Add SSH key storage:
  • mkdir /var/lib/dokku/data/storage/wharf-ssh/
  • chown dokku:dokku /var/lib/dokku/data/storage/wharf-ssh/
  • dokku storage:mount wharf /var/lib/dokku/data/storage/wharf-ssh/:/app/.ssh
  1. Add Redis (dokku redis:create wharf && dokku redis:link wharf wharf)
  2. Add Postgres (dokku postgres:create wharf && dokku postgres:link wharf wharf)
  3. Set ADMIN_PASSWORD to something secret (dokku config:set wharf ADMIN_PASSWORD=somesecret)
  4. Deploy this Git repo as per the standard Dokku instructions

Helpful hints

  • If there's a Dockerfile in your repository, it'll try and deploy using that by default. Set BUILDPACK_URL to override
  • BUILDPACK_URL should be an HTTPS one, not a SSH or heroku/something one
  • You should setup the global domain name when creating Dokku to start with and add a *.<your dokku domain> entry to give new apps more usable names.

Enabling Github auto-deploy webhooks

  1. Set GITHUB_SECRET config item to something secret
  2. Goto settings/webhooks in Github
  3. Make a new webhook for <your Wharf instance>/webhook with Content type as application/json and Secret to the secret from GITHUB_SECRET