Olympus Docs
ReferenceConfigurationCompose Services

iam-kratos

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

Compose service iam-kratos.

Dev (compose.dev.yml)

Image: docker.io/oryd/kratos:v26.2.0

Command: serve -c /etc/config/iam-kratos/kratos.yml --dev --watch-courier

Ports:

  • 4100:7000
  • 4101:7001

Environment variables:

VariableSource
DSNpostgres://postgres:secret@postgres:5432/iam_kratos?sslmode
LOG_LEVELtrace
SERVE_PUBLIC_PORT7000
SERVE_ADMIN_PORT7001

Volumes:

  • {"type":"bind","source":"./iam-kratos","target":"/etc/config/iam-kratos"}

Depends on: iam-kratos-migrate

Restart policy: unless-stopped

Networks: intranet

Prod (compose.prod.yml)

Image: docker.io/oryd/kratos:v26.2.0

Command: kratos serve -c /etc/config/iam-kratos/kratos.yml --watch-courier

Ports:

  • 4100:7000
  • 4101:7001

Environment variables:

VariableSource
DSN${PG_IAM_KRATOS_DSN}
SERVE_PUBLIC_PORT7000
SERVE_ADMIN_PORT7001
SECRETS_COOKIE${IAM_KRATOS_SECRET_COOKIE}
SECRETS_CIPHER${IAM_KRATOS_SECRET_CIPHER}
SERVE_PUBLIC_CORS_ALLOWED_ORIGINS${IAM_CORS_ALLOWED_ORIGINS}
SELFSERVICE_DEFAULT_BROWSER_RETURN_URL${IAM_ATHENA_PUBLIC_URL}/
COURIER_SMTP_CONNECTION_URI${SMTP_CONNECTION_URI}
COURIER_SMTP_FROM_ADDRESS${SMTP_FROM_EMAIL}

Volumes:

  • {"type":"bind","source":"./check-secrets.sh","target":"/check-secrets.sh","read_only":true}
  • {"type":"bind","source":"./iam-kratos","target":"/etc/config/iam-kratos"}
  • {"type":"bind","source":"./postgres/pg-ca.crt","target":"/etc/ssl/certs/pg-ca.crt","read_only":true}

Healthcheck:

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