162 lines
3.9 KiB
YAML
162 lines
3.9 KiB
YAML
services:
|
|
prod_app:
|
|
image: netgescon/app:${NETGESCON_VERSION:-latest}
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile.prod
|
|
container_name: netgescon_local_prod_app
|
|
restart: unless-stopped
|
|
environment:
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
APP_URL: http://localhost:8080
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: prod_db
|
|
DB_PORT: 3306
|
|
DB_DATABASE: ${PROD_DB_DATABASE}
|
|
DB_USERNAME: ${PROD_DB_USERNAME}
|
|
DB_PASSWORD: ${PROD_DB_PASSWORD}
|
|
RUN_MIGRATIONS: ${PROD_RUN_MIGRATIONS:-true}
|
|
FIX_PERMISSIONS: "true"
|
|
WAIT_FOR_DB: "true"
|
|
volumes:
|
|
- prod_storage:/var/www/storage
|
|
- prod_cache:/var/www/bootstrap/cache
|
|
- prod_public:/var/www/public
|
|
depends_on:
|
|
- prod_db
|
|
- prod_redis
|
|
networks:
|
|
- netgescon_local
|
|
|
|
prod_nginx:
|
|
image: nginx:alpine
|
|
container_name: netgescon_local_prod_nginx
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- prod_public:/var/www/public:ro
|
|
- ./nginx/prod.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- prod_app
|
|
networks:
|
|
- netgescon_local
|
|
|
|
prod_db:
|
|
image: mysql:8.0
|
|
container_name: netgescon_local_prod_db
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_DATABASE: ${PROD_DB_DATABASE}
|
|
MYSQL_USER: ${PROD_DB_USERNAME}
|
|
MYSQL_PASSWORD: ${PROD_DB_PASSWORD}
|
|
MYSQL_ROOT_PASSWORD: ${PROD_DB_ROOT_PASSWORD}
|
|
volumes:
|
|
- prod_db:/var/lib/mysql
|
|
- ./mysql/init.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
|
|
networks:
|
|
- netgescon_local
|
|
|
|
prod_redis:
|
|
image: redis:alpine
|
|
container_name: netgescon_local_prod_redis
|
|
restart: unless-stopped
|
|
volumes:
|
|
- prod_redis:/data
|
|
networks:
|
|
- netgescon_local
|
|
|
|
demo_app:
|
|
image: netgescon/app:${NETGESCON_VERSION:-latest}
|
|
container_name: netgescon_local_demo_app
|
|
restart: unless-stopped
|
|
environment:
|
|
APP_ENV: local
|
|
APP_DEBUG: "true"
|
|
APP_URL: http://localhost:8081
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: demo_db
|
|
DB_PORT: 3306
|
|
DB_DATABASE: ${DEMO_DB_DATABASE}
|
|
DB_USERNAME: ${DEMO_DB_USERNAME}
|
|
DB_PASSWORD: ${DEMO_DB_PASSWORD}
|
|
RUN_MIGRATIONS: ${DEMO_RUN_MIGRATIONS:-true}
|
|
FIX_PERMISSIONS: "true"
|
|
WAIT_FOR_DB: "true"
|
|
RUN_SEEDERS: demo
|
|
volumes:
|
|
- demo_storage:/var/www/storage
|
|
- demo_cache:/var/www/bootstrap/cache
|
|
- demo_public:/var/www/public
|
|
depends_on:
|
|
- demo_db
|
|
- demo_redis
|
|
networks:
|
|
- netgescon_local
|
|
|
|
demo_nginx:
|
|
image: nginx:alpine
|
|
container_name: netgescon_local_demo_nginx
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8081:80"
|
|
volumes:
|
|
- demo_public:/var/www/public:ro
|
|
- ./nginx/demo.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- demo_app
|
|
networks:
|
|
- netgescon_local
|
|
|
|
demo_db:
|
|
image: mysql:8.0
|
|
container_name: netgescon_local_demo_db
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_DATABASE: ${DEMO_DB_DATABASE}
|
|
MYSQL_USER: ${DEMO_DB_USERNAME}
|
|
MYSQL_PASSWORD: ${DEMO_DB_PASSWORD}
|
|
MYSQL_ROOT_PASSWORD: ${DEMO_DB_ROOT_PASSWORD}
|
|
volumes:
|
|
- demo_db:/var/lib/mysql
|
|
- ./mysql/init.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
|
|
networks:
|
|
- netgescon_local
|
|
|
|
demo_redis:
|
|
image: redis:alpine
|
|
container_name: netgescon_local_demo_redis
|
|
restart: unless-stopped
|
|
volumes:
|
|
- demo_redis:/data
|
|
networks:
|
|
- netgescon_local
|
|
|
|
presentation_www:
|
|
image: nginx:alpine
|
|
container_name: netgescon_local_www
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8082:80"
|
|
volumes:
|
|
- ./www:/usr/share/nginx/html:ro
|
|
networks:
|
|
- netgescon_local
|
|
|
|
volumes:
|
|
prod_db:
|
|
prod_storage:
|
|
prod_cache:
|
|
prod_public:
|
|
prod_redis:
|
|
demo_db:
|
|
demo_storage:
|
|
demo_cache:
|
|
demo_public:
|
|
demo_redis:
|
|
|
|
networks:
|
|
netgescon_local:
|
|
driver: bridge
|