Olympus Docs
ReferenceConfigurationCompose Services

ciam-athena

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

Compose service ciam-athena.

Dev (compose.dev.yml)

Image: dev-athena

Build: {"context":"../../athena","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
NODE_ENVdevelopment
KRATOS_ADMIN_URLhttp://ciam-kratos:5001
KRATOS_PUBLIC_URLhttp://ciam-kratos:5000
HYDRA_PUBLIC_URLhttp://ciam-hydra:5002
HYDRA_ADMIN_URLhttp://ciam-hydra:5003
IAM_KRATOS_PUBLIC_URLhttp://iam-kratos:7000
IAM_KRATOS_ADMIN_URLhttp://iam-kratos:7001
NEXT_PUBLIC_IAM_HYDRA_PUBLIC_URLhttp://localhost:4102
IAM_HYDRA_PUBLIC_URLhttp://iam-hydra:7002
IAM_HYDRA_ADMIN_URLhttp://iam-hydra:7003
NEXT_PUBLIC_AUTH_HYDRA_URLhttp://localhost:4102
AUTH_HYDRA_URLhttp://iam-hydra:7002
AUTH_HYDRA_ADMIN_URLhttp://iam-hydra:7003
AUTH_KRATOS_ADMIN_URLhttp://iam-kratos:7001
OAUTH_CLIENT_IDathena-ciam-client
OAUTH_CLIENT_SECRETathena-ciam-secret
NEXT_PUBLIC_APP_URLhttp://localhost:3001
NEXT_PUBLIC_APP_INSTANCECIAM
WATCHPACK_POLLINGtrue
APP_INSTANCECIAM
DEFAULT_CLIENT_IDsite-ciam-client
CAPTCHA_ENABLEDfalse
CAPTCHA_SITE_KEY``
DATABASE_URLpostgres://postgres:secret@postgres:5432/olympus?sslmode
SETTINGS_TABLEciam_settings
ENCRYPTION_KEYdev-encryption-key-minimum-32-chars!!
ATHENA_INTERNAL_URLhttp://ciam-athena:3000
HERA_INTERNAL_URLhttp://ciam-hera:3000

Volumes:

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

Depends on: ciam-kratos, iam-kratos, iam-hydra

Restart policy: unless-stopped

Networks: intranet

Prod (compose.prod.yml)

Image: ghcr.io/olympusoss/athena:${ATHENA_IMAGE_TAG:-latest}

Ports: none (internal only)

Environment variables:

VariableSource
NODE_ENVproduction
NEXT_PUBLIC_APP_INSTANCECIAM
APP_INSTANCECIAM
NEXT_PUBLIC_APP_URL${CIAM_ATHENA_PUBLIC_URL}
KRATOS_ADMIN_URLhttp://ciam-kratos:5001
KRATOS_PUBLIC_URLhttp://ciam-kratos:5000
HYDRA_PUBLIC_URLhttp://ciam-hydra:5002
HYDRA_ADMIN_URLhttp://ciam-hydra:5003
IAM_KRATOS_PUBLIC_URLhttp://iam-kratos:7000
IAM_KRATOS_ADMIN_URLhttp://iam-kratos:7001
IAM_HYDRA_PUBLIC_URLhttp://iam-hydra:7002
IAM_HYDRA_ADMIN_URLhttp://iam-hydra:7003
NEXT_PUBLIC_IAM_HYDRA_PUBLIC_URL${IAM_HYDRA_PUBLIC_URL}
NEXT_PUBLIC_AUTH_HYDRA_URL${IAM_HYDRA_PUBLIC_URL}
AUTH_HYDRA_URLhttp://iam-hydra:7002
AUTH_HYDRA_ADMIN_URLhttp://iam-hydra:7003
AUTH_KRATOS_ADMIN_URLhttp://iam-kratos:7001
CAPTCHA_ENABLED${CIAM_CAPTCHA_ENABLED:-false}
CAPTCHA_SITE_KEY${CIAM_CAPTCHA_SITE_KEY:-}
DATABASE_URL${PG_OLYMPUS_DSN}
SETTINGS_TABLEciam_settings
ENCRYPTION_KEY${ENCRYPTION_KEY}
OAUTH_CLIENT_ID${ATHENA_CIAM_OAUTH_CLIENT_ID}
OAUTH_CLIENT_SECRET${ATHENA_CIAM_OAUTH_CLIENT_SECRET}
SESSION_SIGNING_KEY${SESSION_SIGNING_KEY}
ATHENA_INTERNAL_URLhttp://ciam-athena:3000
HERA_INTERNAL_URLhttp://ciam-hera:3000

Volumes:

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

Depends on: ciam-kratos, iam-kratos, iam-hydra

Healthcheck:

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

Networks: intranet


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

On this page