|
@@ -0,0 +1,149 @@
|
|
|
+volumes:
|
|
|
+ docker-in-docker:
|
|
|
+ driver: ${VOLUMES_DRIVER}
|
|
|
+services:
|
|
|
+ prod-backend-service:
|
|
|
+ image: lpc/php-fpm:latest
|
|
|
+ restart: always
|
|
|
+ volumes:
|
|
|
+ - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
|
|
+ - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
+ expose:
|
|
|
+ - "9000"
|
|
|
+ extra_hosts:
|
|
|
+ - "dockerhost:${DOCKER_HOST_IP}"
|
|
|
+ environment:
|
|
|
+ - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
|
|
+ - DOCKER_HOST=tcp://docker-in-docker:2376
|
|
|
+ - DOCKER_TLS_VERIFY=1
|
|
|
+ - DOCKER_TLS_CERTDIR=/certs
|
|
|
+ - DOCKER_CERT_PATH=/certs/client
|
|
|
+ - FAKETIME=${PHP_FPM_FAKETIME}
|
|
|
+ - TZ=${WORKSPACE_TIMEZONE}
|
|
|
+ depends_on:
|
|
|
+ - workspace
|
|
|
+ links:
|
|
|
+ - docker-in-docker
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+ dev-backend-service:
|
|
|
+ image: lpc/php-fpm:latest
|
|
|
+ restart: always
|
|
|
+ volumes:
|
|
|
+ - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
|
|
+ - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
+ expose:
|
|
|
+ - "9000"
|
|
|
+ extra_hosts:
|
|
|
+ - "dockerhost:${DOCKER_HOST_IP}"
|
|
|
+ environment:
|
|
|
+ - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
|
|
+ - DOCKER_HOST=tcp://docker-in-docker:2376
|
|
|
+ - DOCKER_TLS_VERIFY=1
|
|
|
+ - DOCKER_TLS_CERTDIR=/certs
|
|
|
+ - DOCKER_CERT_PATH=/certs/client
|
|
|
+ - FAKETIME=${PHP_FPM_FAKETIME}
|
|
|
+ - TZ=${WORKSPACE_TIMEZONE}
|
|
|
+ depends_on:
|
|
|
+ - workspace
|
|
|
+ links:
|
|
|
+ - docker-in-docker
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+ prod-frontend-service:
|
|
|
+ image: lpc/vue:latest
|
|
|
+ ports:
|
|
|
+ - "80"
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+ dev-frontend-service:
|
|
|
+ image: lpc/vue:latest
|
|
|
+ ports:
|
|
|
+ - "80"
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+ openresty:
|
|
|
+ image: lpc/openresty:latest
|
|
|
+ volumes:
|
|
|
+ - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
+ - ${OPENRESTY_HOST_LOG_PATH}:/var/log/nginx
|
|
|
+ - ${OPENRESTY_SITES_PATH}:/etc/nginx/sites-available
|
|
|
+ - ${OPENRESTY_SSL_PATH}:/etc/nginx/ssl
|
|
|
+ - ${OPENRESTY_LUA_PATH}:/usr/local/openresty/lualib/resty
|
|
|
+ ports:
|
|
|
+ - "${OPENRESTY_HOST_HTTP_PORT}:80"
|
|
|
+ - "${OPENRESTY_HOST_HTTPS_PORT}:443"
|
|
|
+ - "${VARNISH_BACKEND_PORT}:81"
|
|
|
+ depends_on:
|
|
|
+ - prod-backend-service
|
|
|
+ - dev-backend-service
|
|
|
+ - prod-frontend-service
|
|
|
+ - dev-frontend-service
|
|
|
+
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+ workspace:
|
|
|
+ image: lpc/workspace:latest
|
|
|
+ restart: always
|
|
|
+ volumes:
|
|
|
+ - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
+ - ./php-worker/supervisord.d:/etc/supervisord.d
|
|
|
+ extra_hosts:
|
|
|
+ - "dockerhost:${DOCKER_HOST_IP}"
|
|
|
+ ports:
|
|
|
+ - "${WORKSPACE_SSH_PORT}:22"
|
|
|
+ - "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000"
|
|
|
+ - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001"
|
|
|
+ - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
|
|
|
+ - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
|
|
|
+ - "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200"
|
|
|
+ - "${WORKSPACE_VITE_PORT}:5173"
|
|
|
+ tty: true
|
|
|
+ environment:
|
|
|
+ - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
|
|
+ - DOCKER_HOST=tcp://docker-in-docker:2376
|
|
|
+ - DOCKER_TLS_VERIFY=1
|
|
|
+ - DOCKER_TLS_CERTDIR=/certs
|
|
|
+ - DOCKER_CERT_PATH=/certs/client
|
|
|
+ - CHOKIDAR_USEPOLLING=true
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+ links:
|
|
|
+ - docker-in-docker
|
|
|
+
|
|
|
+ redis:
|
|
|
+ restart: always
|
|
|
+ build: ./redis
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/redis:/data
|
|
|
+ command: --requirepass ${REDIS_PASSWORD}
|
|
|
+ ports:
|
|
|
+ - "${REDIS_PORT}:6379"
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+ docker-in-docker:
|
|
|
+ restart: always
|
|
|
+ image: lpc/docker:latest
|
|
|
+ environment:
|
|
|
+ DOCKER_TLS_SAN: DNS:docker-in-docker
|
|
|
+ privileged: true
|
|
|
+ volumes:
|
|
|
+ - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
+ expose:
|
|
|
+ - 2375
|
|
|
+ networks:
|
|
|
+ - lpc-saas
|
|
|
+
|
|
|
+networks:
|
|
|
+ lpc-saas:
|
|
|
+ driver: bridge
|