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
- Docker 24+
- Docker Compose v2.20+
- Minimum 4 GB RAM and 4 vCPUs (tested on Ubuntu 24.04)
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
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)
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.envto version control. Add it to.gitignore.
Step 3: Start the services
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:- Email: demo@example.com
- Password: Demo@1234
Updating
Pull the latest images and restart:Troubleshooting
Builder fails to start Check that the database and Redis are healthy before the Builder comes up:filesystem-init exited with code 0. It creates the default bucket and sets public read permissions:
.env:
Next Steps
Architecture
Learn the architecture of the project
Channels
Set up channels such as Whatsapp, Messenger and Instagram