Fork me on GitHub

Getting started is easy using docker-compose.

You can either set it up behind your own reverse proxy (e.g. nginx) or use Caddy

Step by step

  1. Clone the docker-cabot repo:

    $ git clone
  2. Add your keys for external services to conf/production.env using production.env.example as a template:

    $ cp conf/production.env.example conf/production.env
  3. (a) Run docker compose with caddy as a reverse proxy:

    $ cp conf/Caddyfile.example conf/Caddyfile
    $ docker-compose -f docker-compose.yml -f docker-compose-caddy.yml up -d

    (b) OR run just cabot and set up your own reverse proxy (using e.g. nginx, apache or caddy)

        $ docker-compose up -d

    Note: The -d is to daemonize - making it run in the background.

  4. That’s it! If you go to your server in your browser you should see the first time setup screen

Note: Without a reverse-proxy by default it will only listen to local requests. To make it listen publicly on the internet change ‘’ to ‘80:5000’ in docker-compose.yml