Stasis

Configuration

Configure Stasis for your environment

Configuration

Stasis is configured through environment variables and configuration files.

Environment Variables

Database Configuration

VariableDescriptionDefault
STASIS_DATABASE_HOSTPostgreSQL hostlocalhost
STASIS_DATABASE_PORTPostgreSQL port5432
STASIS_DATABASE_USERPostgreSQL usernamestasis
STASIS_DB_PASSWORDPostgreSQL passwordRequired
STASIS_DATABASE_DBNAMEPostgreSQL database namestasis

Server Configuration

VariableDescriptionDefault
STASIS_SERVER_HOSTHTTP server host0.0.0.0
STASIS_SERVER_PORTHTTP server port8080
STASIS_SERVER_MODEServer mode (debug/release)release

SSH Configuration

VariableDescriptionDefault
STASIS_SSH_HOSTSSH server host0.0.0.0
STASIS_SSH_PORTSSH server port2222

OIDC Configuration

VariableDescriptionDefault
STASIS_OIDC_ENABLEDEnable OIDC authenticationfalse
STASIS_OIDC_ISSUER_URLOIDC issuer URL-
STASIS_OIDC_CLIENT_IDOIDC client ID-
STASIS_OIDC_CLIENT_SECRETOIDC client secret-
STASIS_OIDC_JWT_SECRETJWT signing secret (min 32 chars)Required

Docker Compose Configuration

The docker-compose.yml file configures all services:

services:
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - api
      - web

  api:
    build:
      context: .
      dockerfile: Dockerfile.api
    environment:
      - STASIS_DATABASE_HOST=postgres
      - STASIS_DB_PASSWORD=${STASIS_DB_PASSWORD}
      - STASIS_OIDC_JWT_SECRET=${STASIS_OIDC_JWT_SECRET}

  web:
    build:
      context: .
      dockerfile: Dockerfile.web
    environment:
      - NEXT_PUBLIC_API_URL=http://localhost/api

  postgres:
    image: postgres:17-alpine
    environment:
      POSTGRES_USER: stasis
      POSTGRES_PASSWORD: ${STASIS_DB_PASSWORD}
      POSTGRES_DB: stasis

Next Steps

On this page