Quick Start
This guide will help you get Composia up and running in minutes using pre-built container images.
Prerequisites
- Docker Engine + Docker Compose v2
Installation
1. Create configuration file
Create the configuration file for the container stack:
bash
mkdir -p configs
cat > configs/config.compose.yaml << 'EOF'
controller:
listen_addr: ":7001"
controller_addr: "http://controller:7001"
repo_dir: "/data/repo-controller"
state_dir: "/data/state-controller"
log_dir: "/data/logs"
cli_tokens:
- name: "compose-admin"
token: "dev-admin-token"
enabled: true
nodes:
- id: "main"
display_name: "Main"
enabled: true
token: "main-agent-token"
rustic:
main_nodes:
- "main"
secrets:
provider: age
identity_file: "/app/configs/age-identity.key"
recipient_file: "/app/configs/age-recipients.txt"
armor: true
agent:
controller_addr: "http://controller:7001"
node_id: "main"
token: "main-agent-token"
repo_dir: "/data/repo-agent"
state_dir: "/data/state-agent"
EOF2. Start the stack
bash
docker compose up -dBy default, docker-compose.yaml uses the self-hosted Forgejo registry. If you prefer GHCR, replace the image references in docker-compose.yaml with:
yaml
ghcr.io/alexma233/composia:latest
ghcr.io/alexma233/composia-web:latestThis will pull the pre-built images and start:
controlleron:7001webon:3000agentconnected to the local Docker socket
3. Access the interface
Open your browser and visit http://localhost:3000 to view the web interface.
The default development CLI token is dev-admin-token.
Published images:
- Default:
forgejo.alexma.top/alexma233/composiaandforgejo.alexma.top/alexma233/composia-web - Alternative:
ghcr.io/alexma233/composiaandghcr.io/alexma233/composia-web
4. Stop the stack
bash
docker compose downNext Steps
- Learn about the Architecture
- Check the API documentation
- Deploy your first service
Development
For local development with source code, see the Development Guide.