docker-compose.lpc.yml 3.9 KB

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