Files
researchChat/docker-compose.yaml

29 lines
1.1 KiB
YAML

services:
research:
# Fertiges Image aus der Gitea-Registry.
# Nach Code-Änderungen: podman build -t gitea.korbel.network/nico/researchchat:latest . && podman push ...
image: gitea.korbel.network/nico/researchchat:latest
container_name: research-chat
restart: unless-stopped
ports:
# Links = Host-Port (von außen erreichbar), rechts = Container-Port.
# Beispiel: auf dem Server über 8444 erreichbar → "8444:3000"
- "3000:3000"
env_file: .env
environment:
# Port im Container immer 3000 (auch wenn PORT in .env anders ist)
PORT: "3000"
volumes:
# Persistente Daten (SQLite, generierte Secrets in .env) und Dashboards.
# :Z nötig für SELinux-Systeme (Bazzite/Fedora Atomic), damit der Container
# die Host-Dateien lesen kann. Docker ignoriert das Flag.
- ./data:/app/data:Z
- ./dashboards:/app/dashboards:Z
- ./.env:/app/.env:Z
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://localhost:3000/').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"]
interval: 30s
timeout: 10s
retries: 5
start_period: 20s