Initialize work order management system with database schema, API handlers, web client, and Docker configuration.
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
services:
|
||||
|
||||
mssql:
|
||||
image: mcr.microsoft.com/mssql/server:2022-latest
|
||||
environment:
|
||||
SA_PASSWORD: ${SA_PASSWORD}
|
||||
ACCEPT_EULA: "Y"
|
||||
MSSQL_PID: Developer
|
||||
ports:
|
||||
- "1433:1433"
|
||||
volumes:
|
||||
- mssql_data:/var/opt/mssql
|
||||
healthcheck:
|
||||
test: ["CMD", "/opt/mssql-tools18/bin/sqlcmd", "-S", "localhost", "-U", "sa", "-P", "${SA_PASSWORD}", "-Q", "SELECT 1", "-No", "-l", "5"]
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 12
|
||||
start_period: 40s
|
||||
|
||||
keycloak:
|
||||
image: quay.io/keycloak/keycloak:24.0
|
||||
command: start-dev --import-realm --http-port=8180
|
||||
environment:
|
||||
KEYCLOAK_ADMIN: ${KC_ADMIN}
|
||||
KEYCLOAK_ADMIN_PASSWORD: ${KC_ADMIN_PASSWORD}
|
||||
KC_DB: dev-file
|
||||
KC_HTTP_PORT: "8180"
|
||||
KC_HOSTNAME_STRICT: "false"
|
||||
KC_HOSTNAME_STRICT_HTTPS: "false"
|
||||
KC_HTTP_ENABLED: "true"
|
||||
KC_HEALTH_ENABLED: "true"
|
||||
ports:
|
||||
- "8180:8180"
|
||||
volumes:
|
||||
- ./keycloak:/opt/keycloak/data/import
|
||||
- keycloak_data:/opt/keycloak/data
|
||||
healthcheck:
|
||||
# Keycloak image has no curl/wget; use bash TCP to confirm port is open
|
||||
test: ["CMD-SHELL", "bash -c 'exec 3<>/dev/tcp/localhost/8180' 2>/dev/null && echo ok || exit 1"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 18
|
||||
start_period: 30s
|
||||
|
||||
api:
|
||||
build: .
|
||||
ports:
|
||||
- "9080:9080"
|
||||
env_file: .env
|
||||
environment:
|
||||
DB_DSN: "sqlserver://sa:${SA_PASSWORD}@mssql:1433?database=workorders"
|
||||
OIDC_ISSUER: "http://localhost:8180/realms/workorders"
|
||||
JWKS_URL: "http://keycloak:8180/realms/workorders/protocol/openid-connect/certs"
|
||||
extra_hosts:
|
||||
- "localhost:host-gateway"
|
||||
volumes:
|
||||
- uploads:/uploads
|
||||
depends_on:
|
||||
mssql:
|
||||
condition: service_healthy
|
||||
keycloak:
|
||||
condition: service_healthy
|
||||
restart: on-failure
|
||||
|
||||
volumes:
|
||||
mssql_data:
|
||||
keycloak_data:
|
||||
uploads:
|
||||
Reference in New Issue
Block a user