docker-compose.yml 1020 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. services:
  2. db:
  3. image: mongo:7
  4. container_name: rhl-lieferscheine-db
  5. restart: unless-stopped
  6. environment:
  7. MONGO_INITDB_ROOT_USERNAME: root
  8. MONGO_INITDB_ROOT_PASSWORD: supersecret
  9. volumes:
  10. - db_data:/data/db
  11. ports:
  12. - "27017:27017"
  13. healthcheck:
  14. test:
  15. [
  16. "CMD",
  17. "mongosh",
  18. "--quiet",
  19. "mongodb://root:supersecret@localhost:27017/admin?authSource=admin",
  20. "--eval",
  21. "db.adminCommand('ping').ok",
  22. ]
  23. interval: 10s
  24. timeout: 5s
  25. retries: 10
  26. start_period: 20s
  27. app:
  28. build: .
  29. container_name: rhl-lieferscheine-app
  30. restart: unless-stopped
  31. env_file:
  32. - ${ENV_FILE:-.env.docker}
  33. depends_on:
  34. db:
  35. condition: service_healthy
  36. ports:
  37. - "3000:3000"
  38. volumes:
  39. # Server mount: real NAS
  40. - /mnt/niederlassungen:/mnt/niederlassungen:ro
  41. command: sh -c "node scripts/validate-env.mjs && npm run start"
  42. volumes:
  43. db_data: