docker-compose.lpc.yml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. volumes:
  2. docker-in-docker:
  3. driver: ${VOLUMES_DRIVER}
  4. services:
  5. prod-backend-service:
  6. image: lpc/php-fpm:latest
  7. restart: always
  8. volumes:
  9. - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
  10. - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
  11. - docker-in-docker:/certs/client
  12. ports:
  13. - "9000"
  14. - "80"
  15. extra_hosts:
  16. - "dockerhost:${DOCKER_HOST_IP}"
  17. environment:
  18. - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
  19. - DOCKER_HOST=tcp://docker-in-docker:2376
  20. - DOCKER_TLS_VERIFY=1
  21. - DOCKER_TLS_CERTDIR=/certs
  22. - DOCKER_CERT_PATH=/certs/client
  23. - FAKETIME=${PHP_FPM_FAKETIME}
  24. - TZ=${WORKSPACE_TIMEZONE}
  25. depends_on:
  26. - workspace
  27. links:
  28. - docker-in-docker
  29. networks:
  30. - lpc-saas
  31. dev-backend-service:
  32. image: lpc/php-fpm:latest
  33. restart: always
  34. volumes:
  35. - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
  36. - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
  37. - docker-in-docker:/certs/client
  38. ports:
  39. - "9000"
  40. - "80"
  41. extra_hosts:
  42. - "dockerhost:${DOCKER_HOST_IP}"
  43. environment:
  44. - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
  45. - DOCKER_HOST=tcp://docker-in-docker:2376
  46. - DOCKER_TLS_VERIFY=1
  47. - DOCKER_TLS_CERTDIR=/certs
  48. - DOCKER_CERT_PATH=/certs/client
  49. - FAKETIME=${PHP_FPM_FAKETIME}
  50. - TZ=${WORKSPACE_TIMEZONE}
  51. depends_on:
  52. - workspace
  53. links:
  54. - docker-in-docker
  55. networks:
  56. - lpc-saas
  57. prod-frontend-service:
  58. image: lpc/vue:latest
  59. ports:
  60. - "80"
  61. networks:
  62. - lpc-saas
  63. dev-frontend-service:
  64. image: lpc/vue:latest
  65. ports:
  66. - "80"
  67. networks:
  68. - lpc-saas
  69. openresty:
  70. image: lpc/openresty:latest
  71. volumes:
  72. - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
  73. - ${OPENRESTY_HOST_LOG_PATH}:/var/log/nginx
  74. - ${OPENRESTY_SITES_PATH}:/etc/nginx/sites-available
  75. - ${OPENRESTY_SSL_PATH}:/etc/nginx/ssl
  76. - ${OPENRESTY_LUA_PATH}:/usr/local/openresty/lualib/resty
  77. ports:
  78. - "${OPENRESTY_HOST_HTTP_PORT}:80"
  79. - "${OPENRESTY_HOST_HTTPS_PORT}:443"
  80. - "${VARNISH_BACKEND_PORT}:81"
  81. depends_on:
  82. - prod-backend-service
  83. - dev-backend-service
  84. - prod-frontend-service
  85. - dev-frontend-service
  86. networks:
  87. - lpc-saas
  88. workspace:
  89. image: lpc/workspace:latest
  90. restart: always
  91. volumes:
  92. - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
  93. - docker-in-docker:/certs/client
  94. - ./php-worker/supervisord.d:/etc/supervisord.d
  95. extra_hosts:
  96. - "dockerhost:${DOCKER_HOST_IP}"
  97. ports:
  98. - "${WORKSPACE_SSH_PORT}:22"
  99. - "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000"
  100. - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001"
  101. - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
  102. - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
  103. - "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200"
  104. - "${WORKSPACE_VITE_PORT}:5173"
  105. tty: true
  106. environment:
  107. - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
  108. - DOCKER_HOST=tcp://docker-in-docker:2376
  109. - DOCKER_TLS_VERIFY=1
  110. - DOCKER_TLS_CERTDIR=/certs
  111. - DOCKER_CERT_PATH=/certs/client
  112. - CHOKIDAR_USEPOLLING=true
  113. networks:
  114. - lpc-saas
  115. links:
  116. - docker-in-docker
  117. redis:
  118. restart: always
  119. build: ./redis
  120. volumes:
  121. - ${DATA_PATH_HOST}/redis:/data
  122. command: --requirepass ${REDIS_PASSWORD}
  123. ports:
  124. - "${REDIS_PORT}:6379"
  125. networks:
  126. - lpc-saas
  127. docker-in-docker:
  128. restart: always
  129. image: lpc/docker:latest
  130. environment:
  131. DOCKER_TLS_SAN: DNS:docker-in-docker
  132. privileged: true
  133. volumes:
  134. - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
  135. - docker-in-docker:/certs/client
  136. expose:
  137. - 2375
  138. networks:
  139. - lpc-saas
  140. networks:
  141. lpc-saas:
  142. driver: bridge