Files
bricktrack/docker-compose.yml
unknownandClaude Opus 5 f42cd31673 feat(docker): host-adresse und port konfigurierbar machen
BIND_ADDRESS und HOST_PORT statt eines fest verdrahteten
127.0.0.1:3000. Die Voreinstellung bleibt localhost - wer den Reverse
Proxy auf einem anderen Host betreibt oder Port 3000 schon belegt hat,
aendert jetzt zwei Zeilen in der .env statt der compose-Datei.

Der komplette Stack wurde damit einmal durchgespielt: docker compose up
laeuft, Container wird healthy, Migrationen greifen und /data landet mit
Datenbank und Dateiverzeichnis auf dem Host.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 00:56:38 +02:00

48 lines
1.4 KiB
YAML

# ---------------------------------------------------------------------------
# Bricktrack - ein Service, ein Datenverzeichnis.
#
# TLS terminiert der Reverse Proxy (z. B. Nginx Proxy Manager). Der Container
# spricht nur HTTP und muss nicht nach aussen erreichbar sein.
# ---------------------------------------------------------------------------
services:
app:
build:
context: .
dockerfile: Dockerfile
image: bricktrack:latest
container_name: bricktrack
restart: unless-stopped
env_file:
- .env
environment:
# Im Container liegen die Daten immer unter /data - der Pfad auf dem Host
# wird ueber den Bind-Mount unten bestimmt.
DATA_DIR: /data
PORT: 3000
ports:
# Standardmaessig nur an localhost gebunden: erreichbar wird die App
# ueber den Reverse Proxy. Sitzt der Proxy auf einem anderen Host, in
# der .env BIND_ADDRESS=0.0.0.0 setzen (und die Firewall zuziehen).
- "${BIND_ADDRESS:-127.0.0.1}:${HOST_PORT:-3000}:3000"
volumes:
# Das eine Verzeichnis, das gesichert werden muss.
- ./data:/data
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000/api/health"]
interval: 30s
timeout: 5s
start_period: 20s
retries: 3
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"