Installation
Deploy SculptOps with Docker Compose.
Tip
Docker Compose is the recommended self-hosted deployment path.
Prerequisites
- Docker Engine24.0 or later
- Docker Composev2
- OSLinux recommended; macOS and Windows via WSL2 can be used for development
Docker Compose
1. Clone the repository
bash
git clone https://github.com/refacto-eu/sculptops
cd sculptops2. Configure environment variables
bash
cp .env.example .envEdit .env and set at least:
| Variable | Required | Description |
|---|---|---|
| POSTGRES_PASSWORD | Yes | Password used by the bundled PostgreSQL service. |
| AUTH_SECRET | Yes | Random string for session signing. |
| AUTH_URL | Yes | Public URL of the app. |
| ENCRYPTION_KEY | Yes | 64-character hex key for encrypted credentials. |
| DOCKER_GID | Yes | Group id of the host Docker socket (stat -c '%g' /var/run/docker.sock). Required so the app can start execution containers. |
See the full Environment Variables reference for all supported options.
3. Pull the image and start the stack
bash
docker compose pull
docker compose up -dSculptOps publishes a prebuilt image to GitHub Container Registry (ghcr.io/refacto-eu/sculptops), so no local build is required. To build from source instead, use docker compose up -d --build. To pin a specific version, set the image tag (for example :0.1.3) in the image: line of docker-compose.yml.
4. Open the browser
Navigate to your configured app URL and create the first admin account and organization.
Generating ENCRYPTION_KEY
Generate a secure random key with:
bash
openssl rand -hex 32Danger
Store the encryption key securely. If you lose it, encrypted SSH keys and vault passwords cannot be recovered.
Reverse proxy
In production, place SculptOps behind a reverse proxy with HTTPS enabled. Make sure AUTH_URL and NEXT_PUBLIC_APP_URL match the public URL users access.
Verifying the installation
bash
docker compose ps
docker compose logs app --tail=50