add cron-sync task, restart on postgres

This commit is contained in:
2026-04-14 09:38:26 -05:00
parent 1964098136
commit ab0e487125

View File

@@ -4,29 +4,45 @@ services:
image: node:22-alpine
container_name: mail-s3-admin-dev
working_dir: /app
# Wichtig: Next.js Dev muss nach außen erreichbar sein
command: sh -c "npm run dev -- -p 3060 -H 0.0.0.0"
environment:
NODE_ENV: development
# Hot-Reload in Docker auf Windows/macOS
CHOKIDAR_USEPOLLING: "true"
WATCHPACK_POLLING: "true"
# Deine App-Variablen
DATABASE_URL: ${DATABASE_URL}
APP_PASSWORD: ${APP_PASSWORD}
PROCESSED_META_KEY: ${PROCESSED_META_KEY}
PROCESSED_META_VALUE: ${PROCESSED_META_VALUE}
# (Optional) Next Telemetry aus
NEXT_TELEMETRY_DISABLED: "1"
# ports:
# - "3060:3000"
volumes:
- .:/app:cached # Dein Projektordner direkt im Container
- .:/app:cached
depends_on:
- postgres
# Für interaktive Logs (CTRL+C sauber)
tty: true
stdin_open: true
# FIX: Sorgt dafür, dass der Container nach einem Reboot wieder startet
restart: unless-stopped
cron-sync:
network_mode: "host"
image: node:22-alpine
container_name: mail-s3-admin-cron
working_dir: /app
# Startet das Skript mit tsx (entspricht deinem pm2 --interpreter tsx Ansatz)
command: sh -c "npx tsx cron-sync.ts"
environment:
NODE_ENV: development
DATABASE_URL: ${DATABASE_URL}
# AWS Variablen für den S3 Sync
AWS_REGION: ${AWS_REGION}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
volumes:
- .:/app:cached
depends_on:
- postgres
# Auch der Cronjob soll bei einem Reboot automatisch starten
restart: unless-stopped
postgres:
image: postgres:17-alpine
@@ -36,7 +52,7 @@ services:
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
POSTGRES_DB: mydb
ports:
- "5432:5432" # Optional: Host-Zugriff auf DB
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
restart: unless-stopped