Forge
Getting started

Installation

Forge ships as a single container image on GHCR. The whole deployment is one service and one volume.

Reading time

Docker Compose

services:
  forge:
    image: ghcr.io/bndct-devops/forge:latest
    container_name: forge
    ports:
      - "8081:8081"
    volumes:
      - ./data:/data
    restart: unless-stopped

Then docker compose up -d and open http://your-host:8081. The first visit walks you through creating the admin account — see first-run setup.

The volume

/data holds the SQLite database (WAL mode), the JWT signing secret, and the Web Push keys. Back up that one directory and you have everything. Optional nightly snapshots land in /data/backups — enable them in Settings → Data as an admin.

Environment variables

VariableDefaultPurpose
FORGE_SECRET_KEYauto-generated, persistedJWT signing secret
FORGE_DATA_DIR/dataSQLite database + keys
FORGE_PORT8081HTTP port (dev convenience; the container binds 8081)
FORGE_OIDC_*disabledOptional single sign-on — see SSO