Olympus Docs
ReferenceConfigurationCompose Services

iam-hera

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

Compose service iam-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
PORT4000
HYDRA_ADMIN_URLhttp://iam-hydra:7003
KRATOS_PUBLIC_URLhttp://iam-kratos:7000
KRATOS_ADMIN_URLhttp://iam-kratos:7001
DEFAULT_OAUTH2_CLIENT_IDathena-iam-client
HYDRA_PUBLIC_URLhttp://localhost:4102
CAPTCHA_ENABLEDfalse
CAPTCHA_SITE_KEY``
CAPTCHA_SECRET_KEY``
DATABASE_URLpostgres://postgres:secret@postgres:5432/olympus?sslmode
SETTINGS_TABLEiam_settings
ENCRYPTION_KEYdev-encryption-key-minimum-32-chars!!
APP_INSTANCEIAM
NEXT_PUBLIC_APP_INSTANCEIAM
WATCHPACK_POLLINGtrue

Volumes:

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

Depends on: iam-hydra, iam-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
PORT4000
HYDRA_ADMIN_URLhttp://iam-hydra:7003
KRATOS_PUBLIC_URLhttp://iam-kratos:7000
KRATOS_ADMIN_URLhttp://iam-kratos:7001
DEFAULT_OAUTH2_CLIENT_IDathena-iam-client
HYDRA_PUBLIC_URL${IAM_HYDRA_PUBLIC_URL}
CAPTCHA_ENABLED${IAM_CAPTCHA_ENABLED:-true}
CAPTCHA_SITE_KEY${IAM_CAPTCHA_SITE_KEY:-}
CAPTCHA_SECRET_KEY${IAM_CAPTCHA_SECRET_KEY:-}
DATABASE_URL${PG_OLYMPUS_DSN}
SETTINGS_TABLEiam_settings
ENCRYPTION_KEY${ENCRYPTION_KEY}
APP_INSTANCEIAM
NEXT_PUBLIC_APP_INSTANCEIAM
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: iam-hydra, iam-kratos

Healthcheck:

{
  "test": [
    "CMD-SHELL",
    "wget --spider --quiet http://localhost:4000/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