Self-Host with Docker Compose
This section outlines the necessary steps to run Dittofeed with docker compose.
Watch the following video walkthrough to see how to set up Dittofeed with docker compose.
First, clone Dittofeed’s github repository.
Overriding Default Environment Variables
It’s important that you override the default environment variables in the .env
file, for security reasons.
Dittofeed has dependencies on Postgres, and Clickhouse, with an optional Kafka dependency.
To start, create a local .env
file.
Then uncomment the following lines from the docker-compose.lite.yaml
file:
Populate this .env
file with the following values, substituting placeholder values with your own. Dittofeed will work without these overrides, but it is recommended that you substitute your own credentials.
See our documentation on Authentication Modes for instructions on how to generate a new SECRET_KEY
.
Finally, start Dittofeed’s services.
The above command will start Postgres and Clickhouse. You
may decide to use a third party vendor for these data stores. In that case,
you should disable the corresponding services in the
docker-compose.prod.yaml
file.
Fixing Port Conflicts
You may be running other services on your host machine that conflict with Dittofeed’s ports. If this is the case, you can override the ports that Dittofeed binds to in the docker-compose.lite.yaml
file
First, comment out the ports
section in the service dependencies which don’t need to be exposed.
Then, change the lite service to expose the free port you want to use.
Configure the Dittofeed dashboard to use the new port.
Finally, restart Dittofeed.