docker-compose.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. version: "3.3"
  2. networks:
  3. public:
  4. external: true
  5. volumes:
  6. assets_images:
  7. driver_opts:
  8. type: "nfs"
  9. o: "addr=${NFS_IP},nolock,soft,rw"
  10. device: ":/mnt/storage/compagnia/pdf-generator/assets/images"
  11. assets_fonts:
  12. driver_opts:
  13. type: "nfs"
  14. o: "addr=${NFS_IP},nolock,soft,rw"
  15. device: ":/mnt/storage/compagnia/pdf-generator/assets/fonts"
  16. assets_jsons:
  17. driver_opts:
  18. type: "nfs"
  19. o: "addr=${NFS_IP},nolock,soft,rw"
  20. device: ":/mnt/storage/compagnia/pdf-generator/assets/jsons"
  21. assets_pdfs:
  22. driver_opts:
  23. type: "nfs"
  24. o: "addr=${NFS_IP},nolock,soft,rw"
  25. device: ":/mnt/storage/compagnia/pdf-generator/assets/pdfs"
  26. assets_static:
  27. driver_opts:
  28. type: "nfs"
  29. o: "addr=${NFS_IP},nolock,soft,rw"
  30. device: ":/mnt/storage/compagnia/pdf-generator/assets/static"
  31. services:
  32. api:
  33. image: registry.cosmobile.dev/pdf-generator:beta
  34. volumes:
  35. - "assets_images:/app/assets/images"
  36. - "assets_fonts:/app/assets/fonts"
  37. - "assets_jsons:/app/assets/jsons"
  38. - "assets_pdfs:/app/assets/pdfs"
  39. - "assets_static:/app/assets/static"
  40. networks:
  41. - public
  42. environment:
  43. API_DOMAIN: ${API_DOMAIN}
  44. deploy:
  45. placement:
  46. constraints:
  47. - node.role == worker
  48. - node.labels.cosmobile.scope == services
  49. labels:
  50. - "traefik.enable=true"
  51. - "traefik.docker.network=public"
  52. - "traefik.http.routers.pdf-generator-api-prod-http.rule=Host(`pdf-generator.services.cosmobile.net`)"
  53. - "traefik.http.routers.pdf-generator-api-prod-http.entrypoints=http"
  54. - "traefik.http.routers.pdf-generator-api-prod-http.middlewares=https-redirect"
  55. - "traefik.http.routers.pdf-generator-api-prod-https.rule=Host(`pdf-generator.services.cosmobile.net`)"
  56. - "traefik.http.routers.pdf-generator-api-prod-https.entrypoints=https"
  57. - "traefik.http.routers.pdf-generator-api-prod-https.tls.certresolver=le"
  58. - "traefik.http.routers.pdf-generator-api-prod-https.middlewares=compressed@file"
  59. - "traefik.http.routers.pdf-generator-api-prod-https.tls.options=min12@file"
  60. - "traefik.http.services.pdf-generator-api-prod.loadbalancer.server.port=3001"
  61. frontend:
  62. image: registry.cosmobile.dev/pdf-generator-fe:beta
  63. networks:
  64. - public
  65. environment:
  66. API_URL: ${API_URL}
  67. deploy:
  68. placement:
  69. constraints:
  70. - node.role == worker
  71. - node.labels.cosmobile.scope == services
  72. labels:
  73. - "traefik.enable=true"
  74. - "traefik.docker.network=public"
  75. - "traefik.http.routers.pdf-generator-fe-prod-http.rule=Host(`pdf-generator-fe.services.cosmobile.net`)"
  76. - "traefik.http.routers.pdf-generator-fe-prod-http.entrypoints=http"
  77. - "traefik.http.routers.pdf-generator-fe-prod-http.middlewares=https-redirect"
  78. - "traefik.http.routers.pdf-generator-fe-prod-https.rule=Host(`pdf-generator-fe.services.cosmobile.net`)"
  79. - "traefik.http.routers.pdf-generator-fe-prod-https.entrypoints=https"
  80. - "traefik.http.routers.pdf-generator-fe-prod-https.tls.certresolver=le"
  81. - "traefik.http.routers.pdf-generator-fe-prod-https.middlewares=compressed@file"
  82. - "traefik.http.routers.pdf-generator-fe-prod-https.tls.options=min12@file"
  83. - "traefik.http.services.pdf-generator-fe-prod.loadbalancer.server.port=80"