79 lines
2.8 KiB
YAML
79 lines
2.8 KiB
YAML
|
|
version: "3.9"
|
||
|
|
|
||
|
|
services:
|
||
|
|
api:
|
||
|
|
image: ${BACKEND_IMAGE:-ghcr.io/your-namespace/word-versioning-backend:latest}
|
||
|
|
environment:
|
||
|
|
ASPNETCORE_ENVIRONMENT: Production
|
||
|
|
ConnectionStrings__Default: Host=${DB_HOST:-db};Port=${DB_PORT:-5432};Database=${DB_NAME:-wordversioning};Username=${DB_USER:-wordversioning};Password=${DB_PASSWORD}
|
||
|
|
MinIO__Endpoint: ${MINIO_ENDPOINT:-minio:39000}
|
||
|
|
MinIO__AccessKey: ${MINIO_ROOT_USER}
|
||
|
|
MinIO__SecretKey: ${MINIO_ROOT_PASSWORD}
|
||
|
|
MinIO__UseSSL: "false"
|
||
|
|
Authentication__Authority: ${KEYCLOAK_AUTHORITY:-https://keycloak:8443/realms/word-versioning}
|
||
|
|
Authentication__ValidAudiences__0: ${AUTH_AUDIENCE_0:-word-addin-officejs}
|
||
|
|
Authentication__ValidAudiences__1: ${AUTH_AUDIENCE_1:-word-versioning-web}
|
||
|
|
Cors__AllowedOrigins__0: ${WEB_URL:-http://localhost:5173}
|
||
|
|
Cors__AllowedOrigins__1: ${ADDIN_URL:-https://localhost:3000}
|
||
|
|
OpenLinks__Secret: ${OPENLINKS_SECRET}
|
||
|
|
OpenLinks__BaseUrl: ${OPENLINKS_BASE_URL}
|
||
|
|
OpenLinks__ExpirySeconds: ${OPENLINKS_EXPIRY_SECONDS:-120}
|
||
|
|
DevHttps__Enabled: "false"
|
||
|
|
ports:
|
||
|
|
- "8080:8080"
|
||
|
|
depends_on:
|
||
|
|
- db
|
||
|
|
- minio
|
||
|
|
- keycloak
|
||
|
|
|
||
|
|
web:
|
||
|
|
image: ${WEB_IMAGE:-ghcr.io/your-namespace/word-versioning-web:latest}
|
||
|
|
environment:
|
||
|
|
NUXT_PUBLIC_API_BASE_URL: ${NUXT_PUBLIC_API_BASE_URL:-http://api:8080}
|
||
|
|
NUXT_PUBLIC_KEYCLOAK_AUTHORITY: ${NUXT_PUBLIC_KEYCLOAK_AUTHORITY:-https://keycloak:8443/realms/word-versioning}
|
||
|
|
NUXT_PUBLIC_KEYCLOAK_CLIENT_ID: ${NUXT_PUBLIC_KEYCLOAK_CLIENT_ID:-word-versioning-web}
|
||
|
|
NUXT_PUBLIC_OPEN_IN_WORD: ${NUXT_PUBLIC_OPEN_IN_WORD:-on}
|
||
|
|
ports:
|
||
|
|
- "5173:3000"
|
||
|
|
depends_on:
|
||
|
|
- api
|
||
|
|
|
||
|
|
db:
|
||
|
|
image: postgres:16
|
||
|
|
environment:
|
||
|
|
POSTGRES_USER: ${DB_USER:-wordversioning}
|
||
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||
|
|
POSTGRES_DB: ${DB_NAME:-wordversioning}
|
||
|
|
volumes:
|
||
|
|
- postgres_data:/var/lib/postgresql/data
|
||
|
|
|
||
|
|
minio:
|
||
|
|
image: quay.io/minio/minio:latest
|
||
|
|
command: server /data --address ":39000" --console-address ":39001"
|
||
|
|
environment:
|
||
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
||
|
|
volumes:
|
||
|
|
- minio_data:/data
|
||
|
|
ports:
|
||
|
|
- "39000:39000"
|
||
|
|
- "39001:39001"
|
||
|
|
|
||
|
|
keycloak:
|
||
|
|
image: quay.io/keycloak/keycloak:26.2
|
||
|
|
command: start-dev --import-realm
|
||
|
|
environment:
|
||
|
|
KC_BOOTSTRAP_ADMIN_USERNAME: ${KC_BOOTSTRAP_ADMIN_USERNAME}
|
||
|
|
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KC_BOOTSTRAP_ADMIN_PASSWORD}
|
||
|
|
KC_HTTPS_CERTIFICATE_FILE: /certs/localhost.crt
|
||
|
|
KC_HTTPS_CERTIFICATE_KEY_FILE: /certs/localhost.key
|
||
|
|
volumes:
|
||
|
|
- ./keycloak/realm-export.json:/opt/keycloak/data/import/realm-export.json:ro
|
||
|
|
- ${HOME:-${USERPROFILE}}/.office-addin-dev-certs:/certs:ro
|
||
|
|
ports:
|
||
|
|
- "8443:8443"
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
postgres_data:
|
||
|
|
minio_data:
|