ciam-core
Compose service `ciam-core` — runtime configuration across dev and prod
Compose service ciam-core.
Dev (compose.dev.yml)
Image: docker.io/oven/bun:1
Command: sh -c cp /tmp/.npmrc /app/.npmrc 2>/dev/null; bun install 2>/dev/null; rm -f /app/.npmrc; mkdir -p node_modules/@nannier && rm -rf node_modules/@nannier/sdk && ln -sfn ../../__sdk node_modules/@nannier/sdk; bun --watch src/index.ts
Ports:
3002:3002
Environment variables:
| Variable | Source |
|---|---|
APP_INSTANCE | CIAM |
PORT | 3002 |
KRATOS_PUBLIC_URL | http://ciam-kratos:5000 |
KRATOS_ADMIN_URL | http://ciam-kratos:5001 |
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 |
AUTH_HYDRA_URL | http://iam-hydra:7002 |
AUTH_HYDRA_ADMIN_URL | http://iam-hydra:7003 |
AUTH_KRATOS_ADMIN_URL | http://iam-kratos:7001 |
AUTH_HYDRA_PUBLIC_BROWSER_URL | http://localhost:4102 |
DASHBOARD_PUBLIC_URL | http://localhost:3001 |
OAUTH_CLIENT_ID | dashboard-ciam-client |
OAUTH_CLIENT_SECRET | dashboard-ciam-secret |
DEFAULT_OAUTH2_CLIENT_ID | site-ciam-client |
DATABASE_URL | postgres://postgres:secret@postgres:5432/ionize?sslmode |
SETTINGS_TABLE | ciam_settings |
ENCRYPTION_KEY | 9LHT6tXSrCagtow6Lp+kpwfm0Qe5UVoEdhn86Zo+xWU |
SESSION_SIGNING_KEY | 0MIJFwslAG7XGWL7Lqcr90wAD3S9fknKohCFy7BWIEE |
CAPTCHA_ENABLED | false |
DASHBOARD_INTERNAL_URL | http://ciam-dashboard:3000 |
AUTH_INTERNAL_URL | http://ciam-auth:3000 |
Volumes:
${IONIZE_WORKSPACE}/core:/app${IONIZE_WORKSPACE}/sdk:/app/__sdk:ro/app/node_modules${OCTL_NPMRC_PATH}:/tmp/.npmrc:ro
Depends on: postgres, ciam-kratos, ciam-hydra, iam-kratos, iam-hydra
Restart policy: unless-stopped
User: 0:0
Networks: intranet
Prod (compose.prod.yml)
Image: ghcr.io/bnannier/core:${CORE_IMAGE_TAG:-latest}
Ports: none (internal only)
Environment variables:
| Variable | Source |
|---|---|
NODE_ENV | production |
APP_INSTANCE | CIAM |
PORT | 3002 |
KRATOS_PUBLIC_URL | http://ciam-kratos:5000 |
KRATOS_ADMIN_URL | http://ciam-kratos:5001 |
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 |
AUTH_HYDRA_URL | http://iam-hydra:7002 |
AUTH_HYDRA_ADMIN_URL | http://iam-hydra:7003 |
AUTH_KRATOS_ADMIN_URL | http://iam-kratos:7001 |
AUTH_HYDRA_PUBLIC_BROWSER_URL | ${IAM_HYDRA_PUBLIC_URL} |
DASHBOARD_PUBLIC_URL | ${CIAM_DASHBOARD_PUBLIC_URL} |
OAUTH_CLIENT_ID | ${DASHBOARD_CIAM_OAUTH_CLIENT_ID} |
OAUTH_CLIENT_SECRET | ${DASHBOARD_CIAM_OAUTH_CLIENT_SECRET} |
DEFAULT_OAUTH2_CLIENT_ID | site-ciam-client |
DATABASE_URL | ${PG_IONIZE_DSN} |
SETTINGS_TABLE | ciam_settings |
ENCRYPTION_KEY | ${ENCRYPTION_KEY} |
SESSION_SIGNING_KEY | ${SESSION_SIGNING_KEY} |
NODE_EXTRA_CA_CERTS | /etc/ssl/certs/pg-ca.crt |
CAPTCHA_ENABLED | ${CIAM_CAPTCHA_ENABLED:-false} |
CAPTCHA_SITE_KEY | ${CIAM_CAPTCHA_SITE_KEY:-} |
DASHBOARD_INTERNAL_URL | http://ciam-dashboard:3000 |
AUTH_INTERNAL_URL | http://ciam-auth:3000 |
Volumes:
{"type":"bind","source":"./postgres/pg-ca.crt","target":"/etc/ssl/certs/pg-ca.crt","read_only":true}
Depends on: postgres, ciam-kratos, ciam-hydra, iam-kratos, iam-hydra
Healthcheck:
{
"test": [
"CMD-SHELL",
"wget --spider --quiet http://localhost:3002/health || exit 1"
],
"interval": "30s",
"timeout": "5s",
"start_period": "20s",
"retries": 3
}Restart policy: unless-stopped
Networks: intranet
Generated from ionctl/stack/compose.dev.yml and platform/prod/compose.prod.yml at build time.