Skip to content

Docker Deployment

Run Rackula on your own infrastructure using Docker. No external dependencies required.

Terminal window
docker run -d -p 3000:3000 ghcr.io/rackulalives/rackula:latest

Open http://localhost:3000 in your browser.

For production deployments, use Docker Compose:

docker-compose.yml
services:
rackula:
image: ghcr.io/rackulalives/rackula:latest
container_name: rackula
ports:
- "3000:3000"
restart: unless-stopped

Start the service:

Terminal window
docker compose up -d
Variable Default Description
PORT 3000 HTTP port
BASE_URL / Base URL path for reverse proxy setups
Terminal window
docker run -d -p 8080:3000 ghcr.io/rackulalives/rackula:latest
server {
listen 443 ssl;
server_name rackula.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
  1. Pull the latest image

    Terminal window
    docker pull ghcr.io/rackulalives/rackula:latest
  2. Restart the container

    Terminal window
    docker compose down && docker compose up -d

For stability, pin to a specific version:

docker-compose.yml
services:
rackula:
image: ghcr.io/rackulalives/rackula:v1.0.0

Check the releases page for available versions.

For backup and sharing, use the export feature to save layouts as JSON files.

The container exposes a health endpoint:

Terminal window
curl http://localhost:3000/health

Docker Compose health check:

services:
rackula:
image: ghcr.io/rackulalives/rackula:latest
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
Resource Minimum Recommended
CPU 0.1 cores 0.5 cores
Memory 64MB 128MB
Disk 100MB 200MB

Rackula is a lightweight static application with minimal resource requirements.

Check logs:

Terminal window
docker logs rackula

Change the host port:

Terminal window
docker run -d -p 8080:3000 ghcr.io/rackulalives/rackula:latest

Ensure your proxy passes the correct headers. Check Host, X-Real-IP, and X-Forwarded-Proto.