# git-backed Portainer-Stack für BergVOLT Materialschein. # Nie im Portainer-Editor bearbeiten – Änderungen gehen über commit + push # (siehe deploy-standard README). image:-Tag wird von der CI per Commit-back # auf : gepinnt, der Bootstrap-Wert unten ist nur für den ersten Push. networks: dockernetwork: external: true # Stack-internes Netz für web<->db. db darf NICHT ins geteilte dockernetwork: # Compose registriert dort den Service-Namen "db" als DNS-Alias, was in fremden # Stacks (z.B. healthjournal, Host=db) die Namensauflösung kapert — und der # Postgres wäre für jeden Container im Proxy-Netz erreichbar. internal: services: web: image: git.prox.ws/bergvolt/materialschein:1.0.30 container_name: tools_bergvolt_at-materialschein restart: unless-stopped networks: - dockernetwork - internal expose: - "80" environment: DATABASE_URL: postgresql://materialschein:${POSTGRES_PASSWORD}@materialschein-db:5432/materialschein MSAL_CLIENT_ID: b1cd974c-77ce-4d93-b6e8-00e41a31adc8 MSAL_TENANT_ID: d9adeaaf-853b-4c4e-a822-8f1bedbb84f6 PORT: "80" # Lokaler Login-Fallback (siehe README "Lokales Konto"): JWT_SECRET: ${JWT_SECRET} SEED_ADMIN_USERNAME: ${SEED_ADMIN_USERNAME} SEED_ADMIN_PASSWORD: ${SEED_ADMIN_PASSWORD} depends_on: - db db: image: postgres:16-alpine container_name: tools_bergvolt_at-db restart: unless-stopped # Eindeutiger DNS-Alias statt generischem Namen — DATABASE_URL zeigt auf # materialschein-db, unabhängig von container_name/Service-Namen. networks: internal: aliases: [materialschein-db] environment: POSTGRES_USER: materialschein POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: materialschein volumes: - /docker/materialschein/pgdata:/var/lib/postgresql/data