docker-compose.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. version: '3.7'
  2. services:
  3. noctbot:
  4. image: noctbot
  5. build:
  6. context: ./
  7. dockerfile: ./bot/Dockerfile
  8. restart: unless-stopped
  9. depends_on:
  10. - db
  11. - facedetect
  12. env_file:
  13. - .env
  14. - db.env
  15. volumes:
  16. - ./bot/stickers:/app/bot/stickers
  17. environment:
  18. NODE_ENV: production
  19. BOT_TOKEN: ${BOT_TOKEN}
  20. FORUM_PASS: ${FORUM_PASS}
  21. FORUM_API_KEY: ${FORUM_API_KEY}
  22. IGNORE_CHANGED_NEWS: ${IGNORE_CHANGED_NEWS}
  23. NPM_CONFIG_LOGLEVEL: info
  24. TYPEORM_USERNAME: ${DB_USERNAME}
  25. TYPEORM_PASSWORD: ${DB_PASSWORD}
  26. TYPEORM_DATABASE: ${DB_NAME}
  27. FACEDETECT_URL: facedetect
  28. facedetect:
  29. image: facedetect
  30. build:
  31. context: ./
  32. dockerfile: ./facedetect/Dockerfile
  33. restart: unless-stopped
  34. caddy:
  35. image: caddy
  36. depends_on:
  37. - web
  38. ports:
  39. - "${WEB_OUT_PORT}:443"
  40. environment:
  41. DOMAINS: "${WEB_DOMAIN}:443"
  42. volumes:
  43. - caddy-data:/data
  44. - caddy-config:/config
  45. - ./web_config/Caddyfile:/etc/caddy/Caddyfile
  46. web:
  47. image: noctbot_web
  48. build:
  49. context: ./
  50. dockerfile: ./web/Dockerfile
  51. restart: unless-stopped
  52. depends_on:
  53. - db
  54. - noctbot
  55. env_file:
  56. - .env
  57. - db.env
  58. environment:
  59. NODE_ENV: production
  60. TYPEORM_USERNAME: ${DB_USERNAME}
  61. TYPEORM_PASSWORD: ${DB_PASSWORD}
  62. TYPEORM_DATABASE: ${DB_NAME}
  63. WEB_DATA_PATH: /web_data
  64. PORT: "80"
  65. volumes:
  66. - web-data:/web_data
  67. db:
  68. image: postgres
  69. restart: unless-stopped
  70. env_file:
  71. - db.env
  72. environment:
  73. POSTGRES_PASSWORD: ${DB_PASSWORD}
  74. POSTGRES_USER: ${DB_USERNAME}
  75. volumes:
  76. - db-data:/var/lib/postgresql/data
  77. adminer:
  78. image: adminer
  79. restart: unless-stopped
  80. ports:
  81. - 3030:8080
  82. volumes:
  83. db-data:
  84. web-data:
  85. caddy-data:
  86. caddy-config: