Installation
Install Dequel on your own infrastructure.
Prerequisites
- Docker installed on your system
- Docker Compose v2 (
docker composecommand)
Install Script
The quickest way to get Dequel running:
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/scripts/install.sh | sh
This will:
- Check that Docker and Docker Compose are installed
- Create a config directory at
~/.dequel - Download
docker-compose.ymland monitoring configs - Pull pre-built Docker images from GitHub Container Registry
- Install the
dequelCLI to/usr/local/bin
After installation, start the platform:
dequel start
Open http://localhost to access the dashboard (or the configured CADDY_BASE_DOMAIN in production).
Manual Setup (no install script)
If the installer fails, set up the platform manually with just Docker Compose and the config files:
# Create the installation directory
mkdir -p ~/.dequel/data ~/.dequel/workspace \
~/.dequel/infra/caddy/routes \
~/.dequel/infra/monitoring/grafana/datasources
# Download config files
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/docker-compose.yml \
-o ~/.dequel/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/infra/caddy/Caddyfile \
-o ~/.dequel/infra/caddy/Caddyfile
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/infra/monitoring/prometheus.yml \
-o ~/.dequel/infra/monitoring/prometheus.yml
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/infra/monitoring/loki-config.yml \
-o ~/.dequel/infra/monitoring/loki-config.yml
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/infra/monitoring/promtail-config.yml \
-o ~/.dequel/infra/monitoring/promtail-config.yml
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/infra/monitoring/grafana/datasources/loki.yml \
-o ~/.dequel/infra/monitoring/grafana/datasources/loki.yml
curl -fsSL https://raw.githubusercontent.com/Lftobs/dequel/main/infra/monitoring/grafana/datasources/prometheus.yml \
-o ~/.dequel/infra/monitoring/grafana/datasources/prometheus.yml
# Start all services
docker compose -f ~/.dequel/docker-compose.yml up -d
The compose file uses pre-built images from GitHub Container Registry, so no source code checkout is needed. Access the dashboard at http://localhost (or your configured CADDY_BASE_DOMAIN).
Manual Setup with Docker Compose (with source)
Clone the repository and build from source:
git clone https://github.com/Lftobs/dequel.git
cd dequel
docker compose up -d --build
Production Setup
To make Dequel publicly accessible with auto-SSL:
- Set
CADDY_BASE_DOMAINandCADDY_EMAILin~/.dequel/.env:CADDY_BASE_DOMAIN=example.com CADDY_EMAIL=admin@example.com - Configure a wildcard DNS
*.example.compointing to your server’s IP. - Ensure ports
80and443are open in your firewall. - Restart Dequel:
dequel restart
Deployed apps will be reachable at https://<slug>.example.com with auto-provisioned Let’s Encrypt certificates. The dashboard is available at both http://example.com and https://example.com.
The dequel CLI
The dequel command manages the platform lifecycle:
| Command | Description |
|---|---|
dequel start | Start all Dequel services |
dequel stop | Stop all services |
dequel status | Show service status |
dequel logs | Follow service logs |
dequel update | Pull latest images and restart |
dequel restart | Restart all services |
dequel --help | Show all commands |
Configuration Directory
Dequel stores its configuration in ~/.dequel (or $DEQUEL_HOME if set):
~/.dequel/
├── docker-compose.yml
├── .env # Optional environment overrides
├── data/ # SQLite database
├── workspace/ # Build staging area
└── infra/
├── caddy/
│ ├── Caddyfile
│ └── routes/
└── monitoring/
├── prometheus.yml
├── loki-config.yml
└── grafana/
Building from Source
For local development, run the API and web dashboard directly:
# Terminal 1 — API
export DATABASE_PATH=./data/dequel.db \
WORKSPACE_ROOT=./workspace \
CADDY_ROUTES_DIR=./infra/caddy/routes \
CADDY_BASE_DOMAIN=localhost \
DOCKER_NETWORK=dequel_net \
APP_INTERNAL_PORT=3000
bun apps/api/src/index.ts
# Terminal 2 — Web
bun apps/web/src/main.tsx
Updating
dequel update
This pulls the latest images from GitHub Container Registry and recreates the services.