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:
| Variable | Source |
|---|---|
NODE_ENV | development |
KRATOS_ADMIN_URL | http://ciam-kratos:5001 |
KRATOS_PUBLIC_URL | http://ciam-kratos:5000 |
HYDRA_PUBLIC_URL | http://ciam-hydra:5002 |
HYDRA_ADMIN_URL | http://ciam-hydra:5003 |
IAM_KRATOS_PUBLIC_URL | http://iam-kratos:7000 |
IAM_KRATOS_ADMIN_URL | http://iam-kratos:7001 |
NEXT_PUBLIC_IAM_HYDRA_PUBLIC_URL | http://localhost:4102 |
IAM_HYDRA_PUBLIC_URL | http://iam-hydra:7002 |
IAM_HYDRA_ADMIN_URL | http://iam-hydra:7003 |
NEXT_PUBLIC_AUTH_HYDRA_URL | http://localhost:4102 |
AUTH_HYDRA_URL | http://iam-hydra:7002 |
AUTH_HYDRA_ADMIN_URL | http://iam-hydra:7003 |
AUTH_KRATOS_ADMIN_URL | http://iam-kratos:7001 |
OAUTH_CLIENT_ID | athena-ciam-client |
OAUTH_CLIENT_SECRET | athena-ciam-secret |
NEXT_PUBLIC_APP_URL | http://localhost:3001 |
NEXT_PUBLIC_APP_INSTANCE | CIAM |
WATCHPACK_POLLING | true |
APP_INSTANCE | CIAM |
DEFAULT_CLIENT_ID | site-ciam-client |
CAPTCHA_ENABLED | false |
CAPTCHA_SITE_KEY | `` |
DATABASE_URL | postgres://postgres:secret@postgres:5432/olympus?sslmode |
SETTINGS_TABLE | ciam_settings |
ENCRYPTION_KEY | dev-encryption-key-minimum-32-chars!! |
ATHENA_INTERNAL_URL | http://ciam-athena:3000 |
HERA_INTERNAL_URL | http://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:
| Variable | Source |
|---|---|
NODE_ENV | production |
NEXT_PUBLIC_APP_INSTANCE | CIAM |
APP_INSTANCE | CIAM |
NEXT_PUBLIC_APP_URL | ${CIAM_ATHENA_PUBLIC_URL} |
KRATOS_ADMIN_URL | http://ciam-kratos:5001 |
KRATOS_PUBLIC_URL | http://ciam-kratos:5000 |
HYDRA_PUBLIC_URL | http://ciam-hydra:5002 |
HYDRA_ADMIN_URL | http://ciam-hydra:5003 |
IAM_KRATOS_PUBLIC_URL | http://iam-kratos:7000 |
IAM_KRATOS_ADMIN_URL | http://iam-kratos:7001 |
IAM_HYDRA_PUBLIC_URL | http://iam-hydra:7002 |
IAM_HYDRA_ADMIN_URL | http://iam-hydra:7003 |
NEXT_PUBLIC_IAM_HYDRA_PUBLIC_URL | ${IAM_HYDRA_PUBLIC_URL} |
NEXT_PUBLIC_AUTH_HYDRA_URL | ${IAM_HYDRA_PUBLIC_URL} |
AUTH_HYDRA_URL | http://iam-hydra:7002 |
AUTH_HYDRA_ADMIN_URL | http://iam-hydra:7003 |
AUTH_KRATOS_ADMIN_URL | http://iam-kratos:7001 |
CAPTCHA_ENABLED | ${CIAM_CAPTCHA_ENABLED:-false} |
CAPTCHA_SITE_KEY | ${CIAM_CAPTCHA_SITE_KEY:-} |
DATABASE_URL | ${PG_OLYMPUS_DSN} |
SETTINGS_TABLE | ciam_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_URL | http://ciam-athena:3000 |
HERA_INTERNAL_URL | http://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.