Skip to content

Self-hosting

Forge Server can be deployed as a self-hosted solution. As part of our early access release, the self-hosted version of our platform is free for users to deploy. Our Docker image is published to the Docker registry. If you have any questions or need help self-hosting, please reach out to us in our discord

If you are interested in the hosted solution, please request early access on our website


Dependencies

Database

Forge Server requires a postgres database in order to power the platform. Minimum supported version: 11.x.

Environment Variables

Required

ini
# Database connection
DATABASE_URL=$DATABASE_URL

# Password encryption secret
SECRET=$SECRET

# Forge Server URL
APP_URL=$APP_URL

# Session encryption secret
AUTH_COOKIE_SECRET=$AUTH_COOKIE_SECRET

# WebSocket secret
WSS_API_SECRET=$WSS_API_SECRET

Optional

ini
# Email integration
POSTMARK_API_KEY=$POSTMARK_API_KEY

# SSO/MFA integration
WORKOS_API_KEY=$WORKOS_API_KEY
WORKOS_CLIENT_ID=$WORKOS_CLIENT_ID
WORKOS_WEBHOOK_SECRET=$WORKOS_WEBHOOK_SECRET

# Slack integration
SLACK_CLIENT_ID=$SLACK_CLIENT_ID
SLACK_CLIENT_SECRET=$SLACK_CLIENT_SECRET

# S3 integration
S3_KEY_ID=$S3_KEY_ID
S3_KEY_SECRET=$S3_KEY_SECRET
S3_BUCKET=$S3_BUCKET

Example Docker Compose

yaml
services:
  postgres:
    image: postgres:17
    container_name: postgres
    environment:
      POSTGRES_USER: $DB_USERNAME
      POSTGRES_PASSWORD: $DB_PASSWORD
      POSTGRES_DB: forgedb
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
  forge-server:
    image: forgeapp/server
    container_name: forge-server
    environment:
      APP_URL: http://localhost:3000
      DATABASE_URL: postgres://postgres:password@postgres:5432/forgedb
      SECRET: 7d64f80d6acba070742981b62e21adf3a79413e85e3d2633fc973ea9650bb4a4
      WSS_API_SECRET: 7d64f80d6acba070742981b62e21adf3a79413e85e3d2633fc973ea9650bb4a4
      AUTH_COOKIE_SECRET: 7d64f80d6acba070742981b62e21adf3a79413e85e3d2633fc973ea9650bb4a4
    ports:
      - "3000:3000"
    depends_on:
      - postgres

INFO

To set up your user for local development, you'll have to create an Admin user and Organization in your database. We plan to provide a better experience for setting up your initial self-hosted environment. Please reach out to us in our discord or email us at [email protected]