Files
vegasco/tests/WebApi.Tests.System/compose.system.yaml

73 lines
1.8 KiB
YAML

services:
app:
build: ../../src/WebApi
environment:
Vegasco_ConnectionStrings__Default: "Host=db;Port=5432;Database=postgres;Username=postgres;Password=postgres"
Vegasco_JWT__MetadataUrl: http://login:8080/realms/development/.well-known/openid-configuration
Vegasco_JWT__ValidAudience: vegasco
Vegasco_JWT__NameClaimType: name
Vegasco_JWT__AllowHttpMetadataUrl: "true"
ports:
- "8080"
depends_on:
db:
condition: service_healthy
login:
condition: service_healthy
db:
image: postgres:16.3-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
healthcheck:
test: pg_isready -d postgres
interval: 5s
timeout: 2s
retries: 3
start_period: 5s
login:
build:
context: .
dockerfile: Dockerfile.keycloak
command: start --import-realm
environment:
KC_DB: postgres
KC_DB_URL_HOST: login-db
KC_DB_URL_PORT: 5432
KC_DB_URL_DATABASE: keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: keycloak
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin1!
KC_HOSTNAME_STRICT: false
KC_HEALTH_ENABLED: true
KC_METRICS_ENABLED: true
KC_HTTP_ENABLED: true
ports:
- "8080"
volumes:
- ./test-realm.json:/opt/keycloak/data/import/test-realm.json:ro
depends_on:
login-db:
condition: service_healthy
healthcheck:
test: curl --head -fsS http://localhost:9000/health/ready || exit 1
interval: 5s
timeout: 2s
retries: 6
start_period: 5s
login-db:
image: postgres:16-alpine
environment:
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: keycloak
healthcheck:
test: pg_isready -d keycloak
interval: 5s
timeout: 2s
retries: 3
start_period: 5s