sqlinsight-pro/deploy/hub/docker-compose.prod.yml
Søren Eggert Lundsteen Olsen 4fdeff87fa
Some checks are pending
CI / Integration (mcr.microsoft.com/mssql/server:2017-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2019-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2022-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2025-latest) (push) Blocked by required conditions
CI / Build og unit tests (push) Successful in 1m10s
deploy hub / deploy (push) Successful in 19s
CI / MSI-installer (push) Successful in 50s
Deploy hub to SEOSoft appserver; run CI on the self-hosted runner
deploy-hub.yml builds deploy/hub/Dockerfile on the appserver runner, writes
.env from repo secrets and starts docker-compose.prod.yml (external
PostgreSQL, /data bind-mounted), then polls /health.

ci.yml used runs-on: docker, which no runner has, so jobs never started.
Build/tests and the MSI now run inside the SDK image via deploy/ci/Dockerfile,
because the host-mode runner ignores container: and has no apt-get.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 15:37:56 +02:00

30 lines
1 KiB
YAML

# SQLInsight Hub i SEOSofts drift (appserver). Kopieres til INSTALL_DIR af
# .forgejo/workflows/deploy-hub.yml sammen med en .env, der genereres fra
# Forgejo repo-secrets. PostgreSQL kører på en separat DB-server, ikke i compose.
#
# Image `sqlinsight-hub:latest` bygges lokalt af runneren; intet registry-push.
#
# Manuel drift på appserveren:
# cd /opt/sqlinsight-hub && docker compose ps | logs -f | restart
# docker exec -it sqlinsight-hub dotnet SQLInsight.Hub.dll add-staff <brugernavn> "<navn>"
services:
hub:
image: sqlinsight-hub:latest
container_name: sqlinsight-hub
restart: unless-stopped
env_file:
- .env
environment:
SQLInsight__Hub__UpdateFeedPath: /data/feed
volumes:
# keys/ (login-cookies) og feed/. Tag backup; mistes keys, logges alle ud.
- ./data:/data
ports:
# Bind til DMZ-IP (HOST_BIND i .env). Reverse proxyen terminerer TLS.
- "${HOST_BIND}:${HOST_PORT}:8080"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"