docker-compose.prod.yml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. services:
  2. postgres:
  3. image: postgres:16-alpine
  4. restart: unless-stopped
  5. environment:
  6. POSTGRES_USER: xinghen
  7. POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
  8. POSTGRES_DB: xinghen
  9. healthcheck:
  10. test: ["CMD-SHELL", "pg_isready -U xinghen -d xinghen"]
  11. interval: 5s
  12. timeout: 5s
  13. retries: 20
  14. volumes:
  15. - postgres_data:/var/lib/postgresql/data
  16. networks:
  17. - internal
  18. app:
  19. image: xinghen-app:deploy
  20. pull_policy: never
  21. restart: unless-stopped
  22. depends_on:
  23. postgres:
  24. condition: service_healthy
  25. environment:
  26. PORT: 3001
  27. HOST: 0.0.0.0
  28. NODE_ENV: production
  29. DATABASE_URL: postgresql://xinghen:${POSTGRES_PASSWORD}@postgres:5432/xinghen
  30. UPLOAD_DIR: /app/uploads
  31. MAX_UPLOAD_MB: 100
  32. SOFFICE_PATH: /usr/bin/soffice
  33. ADMIN_PHONE: ${ADMIN_PHONE}
  34. ADMIN_PASSWORD: ${ADMIN_PASSWORD}
  35. expose:
  36. - "3001"
  37. volumes:
  38. - uploads_data:/app/uploads
  39. networks:
  40. internal: {}
  41. proxy:
  42. aliases:
  43. - xinghen-app
  44. volumes:
  45. postgres_data:
  46. uploads_data:
  47. networks:
  48. internal:
  49. internal: true
  50. proxy:
  51. external: true
  52. name: meishi_ccdw_life_default