Docker Compose
Docker Compose
Prerequisites
- Docker and Docker Compose v2
- A server with ports 80 and 443 open
- A domain name for the application (e.g.,
app.example.com)
Setup
Create a directory and download the required files:
mkdir intentkit
cd intentkitcurl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/deployment/docker-compose.yml
curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/deployment/caddy-entrypoint.sh
curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/.env.example
chmod +x caddy-entrypoint.shConfigure environment
cp .env.example .envEdit .env and configure the required variables:
APP_DOMAIN— domain for the application (e.g.,app.example.com)TLS_EMAIL— email for Let’s Encrypt certificate registrationBASIC_AUTH_USER— username for basic auth (leave empty to disable)BASIC_AUTH_PASSWORD— password for basic auth (leave empty to disable)OPENAI_API_KEY— your OpenAI API key
Start the stack
docker compose up -dVerify
Check that all containers are running:
docker compose psCheck the logs for errors:
docker compose logs -fVisit your domain (e.g., https://app.example.com) to confirm everything is working.
Update services
docker compose pull
docker compose up -dStop the stack
docker compose downNote: Named volumes are preserved after stopping. To remove them as well:
docker compose down -v