selu-server
The core application server. Handles the dashboard, message routing, and coordination between channels and agents.
Selu runs as a set of Docker containers, making it easy to deploy on any machine that supports Docker. This guide walks you through the architecture and setup.
A Selu deployment consists of the following containers:
selu-server
The core application server. Handles the dashboard, message routing, and coordination between channels and agents.
selu-db
A PostgreSQL database for storing conversations, settings, credentials, and agent metadata.
Agent containers
Each installed agent runs in its own container. These are created automatically when you install agents from the marketplace.
All containers communicate over an internal Docker network. Agent containers connect to the server via gRPC.
mkdir selu && cd selucurl -O https://get.selu.dev/docker-compose.yml.env file with your settings:SELU_SECRET_KEY=your-random-secret-key-herePOSTGRES_PASSWORD=a-strong-database-passworddocker compose up -dhttp://localhost:3000 in your browser to access the Selu dashboard.The default docker-compose.yml looks like this:
services: selu-server: image: ghcr.io/selu/selu-server:latest ports: - "3000:3000" env_file: .env depends_on: - selu-db volumes: - /var/run/docker.sock:/var/run/docker.sock - selu-data:/data
selu-db: image: postgres:16-alpine environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: selu volumes: - selu-pgdata:/var/lib/postgresql/data
volumes: selu-data: selu-pgdata:SELU_SECRET_KEY and POSTGRES_PASSWORD.selu-pgdata which contains your database.See the Environment Variables reference for all available configuration options.