services: app: network_mode: "host" image: node:22-alpine container_name: mail-s3-admin-dev working_dir: /app command: sh -c "npm run dev -- -p 3060 -H 0.0.0.0" environment: NODE_ENV: development CHOKIDAR_USEPOLLING: "true" WATCHPACK_POLLING: "true" DATABASE_URL: ${DATABASE_URL} APP_PASSWORD: ${APP_PASSWORD} PROCESSED_META_KEY: ${PROCESSED_META_KEY} PROCESSED_META_VALUE: ${PROCESSED_META_VALUE} NEXT_TELEMETRY_DISABLED: "1" volumes: - .:/app:cached depends_on: - postgres 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 container_name: mail-s3-admin-db environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: ${DATABASE_PASSWORD} POSTGRES_DB: mydb ports: - "5432:5432" volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped volumes: postgres-data: