Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. Docker-compose.yml reverse proxy (NGINX) and https' encryption (Lest's encrypt) :
  2.  
  3. version: '3'
  4.  
  5. services:
  6. nginx:
  7. image: nginx:1.13.1
  8. container_name: nginx-proxy
  9. ports:
  10. - "80:80"
  11. - "443:443"
  12. expose:
  13. - "80"
  14. - "443"
  15. volumes:
  16. - ./conf.d:/etc/nginx/conf.d
  17. - ./vhost.d:/etc/nginx/vhost.d
  18. - ./html:/usr/share/nginx/html
  19. - certs:/etc/nginx/certs
  20. labels:
  21. - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true"
  22.  
  23. dockergen:
  24. image: jwilder/docker-gen:0.7.3
  25. container_name: nginx-proxy-gen
  26. depends_on:
  27. - nginx
  28. command: -notify-sighup nginx-proxy -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
  29. volumes:
  30. - ./conf.d:/etc/nginx/conf.d
  31. - ./vhost.d:/etc/nginx/vhost.d
  32. - ./html:/usr/share/nginx/html
  33. - certs:/etc/nginx/certs
  34. - /var/run/docker.sock:/tmp/docker.sock:ro
  35. - ./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
  36.  
  37. letsencrypt:
  38. image: jrcs/letsencrypt-nginx-proxy-companion
  39. container_name: nginx-proxy-le
  40. depends_on:
  41. - nginx
  42. - dockergen
  43. environment:
  44. NGINX_PROXY_CONTAINER: nginx-proxy
  45. NGINX_DOCKER_GEN_CONTAINER: nginx-proxy-gen
  46. volumes:
  47. - ./conf.d:/etc/nginx/conf.d
  48. - ./vhost.d:/etc/nginx/vhost.d
  49. - ./html:/usr/share/nginx/html
  50. - certs:/etc/nginx/certs
  51. - /var/run/docker.sock:/var/run/docker.sock:ro
  52.  
  53. volumes:
  54. conf:
  55. vhost:
  56. html:
  57. certs:
  58.  
  59. # Do not forget to run the command 'docker network create nginx-proxy' before launch, and to add '--network nginx-proxy' to proxied containers so the reverse proxy and encryption work.
  60.  
  61. networks:
  62. default:
  63. external:
  64. name: nginx-proxy
  65.  
  66.  
  67.  
  68.  
  69. docker-compose.yml wordpress website 1 :
  70. version: "3"
  71.  
  72. services:
  73. db_site1:
  74. image: mysql:5.7
  75. volumes:
  76. - ./db_data:/var/lib/mysql
  77. # restart: always
  78. environment:
  79. MYSQL_ROOT_PASSWORD: ROOT_PASSWORD1
  80. MYSQL_DATABASE: wordpress
  81. MYSQL_USER: wordpress
  82. MYSQL_PASSWORD: PASSWORD1
  83. container_name: db_wp_site1
  84.  
  85. wordpress:
  86. depends_on:
  87. - db_site1
  88. image: wordpress:latest
  89. volumes:
  90. - ./wordpress:/var/www/html
  91. # restart: always
  92. environment:
  93. VIRTUAL_HOST: domain1.com, www.domain1.com
  94. LETSENCRYPT_HOST: domain1.com, www.domain1.com
  95. LETSENCRYPT_EMAIL: EMAIL
  96. WORDPRESS_DB_HOST: db_site1:3306
  97. WORDPRESS_DB_USER: wordpress
  98. WORDPRESS_DB_PASSWORD: PASSWORD
  99. container_name: wp_site1
  100.  
  101. volumes:
  102. db_data:
  103.  
  104. networks:
  105. default:
  106. external:
  107. name: nginx-proxy
  108.  
  109. docker-compose.yml wordpress website 2 :
  110. version: "3"
  111.  
  112. services:
  113. db_site2:
  114. image: mysql:5.7
  115. volumes:
  116. - ./db_data:/var/lib/mysql
  117. # restart: always
  118. environment:
  119. MYSQL_ROOT_PASSWORD: ROOT_PASSWORD2
  120. MYSQL_DATABASE: wordpress
  121. MYSQL_USER: wordpress
  122. MYSQL_PASSWORD: PASSWORD2
  123. container_name: db_wp_site2
  124.  
  125. wordpress:
  126. depends_on:
  127. - db_site2
  128. image: wordpress:latest
  129. volumes:
  130. - ./wordpress:/var/www/html
  131. # restart: always
  132. environment:
  133. VIRTUAL_HOST: domain2.com, www.domain2.com
  134. LETSENCRYPT_HOST: domain2.com, www.domain2.com
  135. LETSENCRYPT_EMAIL: EMAIL
  136. WORDPRESS_DB_HOST: db_site2:3306
  137. WORDPRESS_DB_USER: wordpress
  138. WORDPRESS_DB_PASSWORD: PASSWORD2
  139. container_name: wp_site2
  140.  
  141. volumes:
  142. db_data:
  143.  
  144. networks:
  145. default:
  146. external:
  147. name: nginx-proxy
  148.  
  149.  
  150. docker-compose.yml wordpress website 3 :
  151. version: "3"
  152.  
  153. services:
  154. db_site3:
  155. image: mysql:5.7
  156. volumes:
  157. - ./db_data:/var/lib/mysql
  158. # restart: always
  159. environment:
  160. MYSQL_ROOT_PASSWORD: ROOT_PASSWORD3
  161. MYSQL_DATABASE: wordpress
  162. MYSQL_USER: wordpress
  163. MYSQL_PASSWORD: PASSWORD3
  164. container_name: db_wp_site3
  165.  
  166. wordpress:
  167. depends_on:
  168. - db_site3
  169. image: wordpress:latest
  170. volumes:
  171. - ./wordpress:/var/www/html
  172. # restart: always
  173. environment:
  174. VIRTUAL_HOST: domain3.com, www.domain3.com
  175. LETSENCRYPT_HOST: domain3.com, www.domain3.com
  176. LETSENCRYPT_EMAIL: EMAIL
  177. WORDPRESS_DB_HOST: db_site3:3306
  178. WORDPRESS_DB_USER: wordpress
  179. WORDPRESS_DB_PASSWORD: PASSWORD3
  180. container_name: wp_site3
  181.  
  182. volumes:
  183. db_data:
  184.  
  185. networks:
  186. default:
  187. external:
  188. name: nginx-proxy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement