Skip to main content

Docker Compose

The quickest way to get a self-hosted instance running is with Docker Compose. All services - including the database, cache, and file storage - are bundled into a single docker-compose.yml file.
Note: See how it works for an overview of the services that make up the application.

Requirements

Configuration

Environment variables can be provided in one of three ways: The .env file approach is recommended for self-hosted deployments.

Installation

1

Clone the Docker Compose repository

2

Configure you docker compose

All environment variables are pre-configured in the docker-compose.yml file. You can skip this step and directly run docker compose.
If you want to customize the environment variables, you can create a .env file and edit the corresponding values.
3

Run the docker-compose command

4

Wait for it to load

Access your frontend at: http://localhost:3123 (unless changed in variables)
There is a configuration reference page with a list of configuration settings.

Example docker-compose.yml file


Step 2: Configure environment variables

Create a .env file in the same directory. At minimum, replace all changeme values with secure secrets.
Security: Never commit .env to version control. Add it to .gitignore.

Step 3: Start the services

To follow the startup logs:
Wait until you see the Builder service report healthy before accessing the UI. This typically takes 30–60 seconds on first boot while the database is initialised.

Step 4: Access the application


Default Account

By default, in the open-source version, ChatbotX already has a Workspace set up, and you only need to log in to use it. Account information:

Updating

Pull the latest images and restart:
Database migrations run automatically on Builder startup.

Troubleshooting

Builder fails to start Check that the database and Redis are healthy before the Builder comes up:
Storage upload errors Confirm filesystem-init exited with code 0. It creates the default bucket and sets public read permissions:
Environment variable not picked up Restart the affected service after editing .env:

Next Steps

Architecture

Learn the architecture of the project

Channels

Set up channels such as Whatsapp, Messenger and Instagram