docker-compose-all.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. version: "3"
  2. services:
  3. # MySQL mariadb
  4. mysql:
  5. build:
  6. context: ./mysql
  7. restart: unless-stopped
  8. volumes:
  9. - mysql-data:/var/lib/mysql/data
  10. env_file:
  11. - mysql/mysql.env
  12. networks:
  13. - backend
  14. # PostgreSQL
  15. postgresql:
  16. build:
  17. context: ./postgresql
  18. restart: unless-stopped
  19. volumes:
  20. - postgresql-data:/var/lib/postgresql/data
  21. env_file:
  22. - postgresql/postgresql.env
  23. networks:
  24. - backend
  25. # Redis
  26. redis:
  27. build:
  28. context: ./redis
  29. restart: unless-stopped
  30. volumes:
  31. - redis-data:/data
  32. env_file:
  33. - redis/redis.env
  34. networks:
  35. - backend
  36. # MongoDB
  37. mongodb:
  38. image: mongo
  39. restart: unless-stopped
  40. volumes:
  41. - mongodb-data:/data/db
  42. env_file:
  43. - mongodb/mongodb.env
  44. networks:
  45. - backend
  46. # coTURN
  47. coturn:
  48. build:
  49. context: ./coturn
  50. restart: always
  51. volumes:
  52. - ${PWD}/coturn/turnserver.conf:/etc/turnserver.conf
  53. - ${PWD}/coturn/privkey.pem:/etc/ssl/private/privkey.pem
  54. - ${PWD}/coturn/cert.pem:/etc/ssl/certs/cert.pem
  55. ports:
  56. ## STUN/TURN
  57. - "3478:3478"
  58. - "3478:3478/udp"
  59. - "3479:3479"
  60. - "3479:3479/udp"
  61. - "80:80"
  62. - "80:80/udp"
  63. ## STUN/TURN SSL
  64. - "5349:5349"
  65. - "5349:5349/udp"
  66. - "5350:5350"
  67. - "5350:5350/udp"
  68. - "443:443"
  69. - "443:443/udp"
  70. # Relay Ports
  71. # - "49152-65535:49152-65535"
  72. # - "49152-65535:49152-65535/udp"
  73. networks:
  74. - frontend
  75. - backend
  76. depends_on:
  77. - mysql
  78. - postgresql
  79. - redis
  80. - mongodb
  81. env_file:
  82. - coturn/coturn.env
  83. # DB
  84. - mysql/mysql.env
  85. - postgresql/postgresql.env
  86. - redis/redis.env
  87. - mongodb/mongodb.env
  88. volumes:
  89. mysql-data:
  90. postgresql-data:
  91. redis-data:
  92. mongodb-data:
  93. networks:
  94. frontend:
  95. driver: bridge
  96. ipam:
  97. driver: default
  98. config:
  99. - subnet: 172.16.238.0/24
  100. backend:
  101. internal: true