Official bootstrap for running your own
Dispatch with Docker.
- Docker 17.05.0+
- Compose 1.19.0+
Minimum Hardware Requirements:
- You need at least 2400MB RAM
To get started with all the defaults, simply clone the repo and run
./install.sh in your local check-out.
There may need to be modifications to the included example config files (
.env) to accommodate your needs or your environment (such as adding Google credentials). If you want to perform these, do them before you run the install script and copy them without the
.example extensions in the name before running the
By default Dispatch does not come with any data. If you're looking for some example data, please use the postgres dump file located here to load example data.
Note: when running the
install.sh file, you will be asked whether to load this database dump, or to initialize a new database.
Starting with a clean database
If you decide to start with a clean database, you will need a user. To create a user, go to http://localhost:8000/default/auth/register.
Securing Dispatch with SSL/TLS
install.sh script is meant to be idempotent and to bring you to the latest version. What this means is you can and should run
install.sh to upgrade to the latest version available.
Upgrading from an older version of postgres
If you are using an earlier version of
postgres you may need to run manual steps to upgrade to the newest Postgres image.
This assumes that you have not changed the default Postgres data path (
/var/lib/postgresql/data) in your
If you have changed it, please replace all occurences of
/var/lib/postgresql/data with your path.
- Make a backup of your Dispatch Postgres data dir.
- Stop all Dispatch containers, except the postgres one (e.g. use
docker stopand not
- Create a new Postgres container which uses a different data directory:
docker run -d \
--name postgresnew \
-e POSTGRES_DB=dispatch \
-e POSTGRES_USER=dispatch \
-e POSTGRES_PASSWORD=dispatch \
-v /var/lib/postgresql/new:/var/lib/postgresql/data:rw \
pg_dumpallto dump all data from the existing Postgres container to the new Postgres container (replace
postgres) with the name of the old Postgres container):
docker exec \
DISPATCH_DATABASE_CONTAINER_NAME pg_dumpall -U postgres | \
docker exec -i postgresnew psql -U postgres
- Stop and remove both Postgres containers:
docker stop DISPATCH_DATABASE_CONTAINER_NAME postgresnew
docker rm DISPATCH_DATABASE_CONTAINER_NAME postgresnew
- Edit your
docker-compose.ymlto use the
postgres:latestimage for the
- Replace old Postgres data directory with upgraded data directory:
mv /var/lib/postgresql/data /var/lib/postgresql/old
mv /var/lib/postgresql/new /var/lib/postgresql/data
- Delete the old existing containers:
- Start Dispatch up again:
That should be it. Your Postgres data has now been updated to use the