Olympus Docs
ReferenceConfigurationCompose Services

ciam-hera

Compose service `ciam-hera`, runtime configuration across dev and prod

Compose service ciam-hera.

Dev (compose.dev.yml)

Image: dev-hera

Build: {"context":"../../hera","dockerfile":"Containerfile.dev","secrets":["npmrc"]}

Command: sh -c cp /tmp/.npmrc /app/.npmrc 2>/dev/null; bun install 2>/dev/null; rm -f /app/.npmrc; bun run dev

Ports: none (internal only)

Environment variables:

VariableSource
PORT3000
HYDRA_ADMIN_URLhttp://ciam-hydra:5003
KRATOS_PUBLIC_URLhttp://ciam-kratos:5000
KRATOS_ADMIN_URLhttp://ciam-kratos:5001
DEFAULT_OAUTH2_CLIENT_IDsite-ciam-client
HYDRA_PUBLIC_URLhttp://localhost:3102
CAPTCHA_ENABLEDfalse
CAPTCHA_SITE_KEY``
CAPTCHA_SECRET_KEY``
DATABASE_URLpostgres://postgres:secret@postgres:5432/olympus?sslmode
SETTINGS_TABLEciam_settings
ENCRYPTION_KEYdev-encryption-key-minimum-32-chars!!
APP_INSTANCECIAM
NEXT_PUBLIC_APP_INSTANCECIAM
WATCHPACK_POLLINGtrue

Volumes:

  • ../../hera:/app
  • /app/node_modules/.cache
  • /app/.next
  • ./.npmrc:/tmp/.npmrc:ro

Depends on: ciam-hydra, ciam-kratos

Restart policy: unless-stopped

Networks: intranet

Prod (compose.prod.yml)

Image: ghcr.io/olympusoss/hera:${HERA_IMAGE_TAG:-latest}

Ports: none (internal only)

Environment variables:

VariableSource
PORT3000
HYDRA_ADMIN_URLhttp://ciam-hydra:5003
KRATOS_PUBLIC_URLhttp://ciam-kratos:5000
KRATOS_ADMIN_URLhttp://ciam-kratos:5001
DEFAULT_OAUTH2_CLIENT_IDsite-ciam-client
HYDRA_PUBLIC_URL${CIAM_HYDRA_PUBLIC_URL}
CAPTCHA_ENABLED${CIAM_CAPTCHA_ENABLED:-true}
CAPTCHA_SITE_KEY${CIAM_CAPTCHA_SITE_KEY:-}
CAPTCHA_SECRET_KEY${CIAM_CAPTCHA_SECRET_KEY:-}
DATABASE_URL${PG_OLYMPUS_DSN}
SETTINGS_TABLEciam_settings
ENCRYPTION_KEY${ENCRYPTION_KEY}
APP_INSTANCECIAM
NEXT_PUBLIC_APP_INSTANCECIAM
ALLOW_DEMO_ACCOUNTS${ALLOW_DEMO_ACCOUNTS:-false}

Volumes:

  • {"type":"bind","source":"./postgres/pg-ca.crt","target":"/etc/ssl/certs/pg-ca.crt","read_only":true}

Depends on: ciam-hydra, ciam-kratos

Healthcheck:

{
  "test": [
    "CMD-SHELL",
    "wget --spider --quiet http://localhost:3000/health || exit 1"
  ],
  "interval": "15s",
  "timeout": "5s",
  "start_period": "20s",
  "retries": 3
}

Restart policy: unless-stopped

Networks: intranet


Generated from platform/dev/compose.dev.yml and platform/prod/compose.prod.yml at build time.

On this page