61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
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: |