From ab0e487125444f91fa53860570f8505d4bf5eadb Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Tue, 14 Apr 2026 09:38:26 -0500 Subject: [PATCH] add cron-sync task, restart on postgres --- docker-compose.yml | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6c77493..ee674e0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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