115 lines
4.1 KiB
YAML
115 lines
4.1 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
mariadb_webapp_dev:
|
|
image: docker.io/bitnami/mariadb:11.1
|
|
container_name: ${DEV_COMPOSE_PREFIX:-dev}-mariadb
|
|
hostname: ${DEV_DB_HOST:-mariadb-webapp-dev}
|
|
environment:
|
|
MARIADB_USER: ${MARIADB_USER}
|
|
MARIADB_DATABASE: ${MARIADB_DATABASE}
|
|
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
|
|
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
|
|
networks:
|
|
- dev_backend
|
|
volumes:
|
|
- mindboost_mariadb_data_dev:/var/lib/mysql
|
|
|
|
laravel-redis-dev:
|
|
image: redis:alpine
|
|
container_name: ${DEV_COMPOSE_PREFIX:-dev}-redis
|
|
hostname: ${DEV_REDIS_HOST:-laravel-redis-dev}
|
|
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}
|
|
networks:
|
|
- dev_backend
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/redis-dev:/data
|
|
|
|
laravel_backend_dev:
|
|
image: ${BACKEND_IMAGE}
|
|
container_name: ${DEV_COMPOSE_PREFIX:-dev}-backend
|
|
environment:
|
|
APP_ENV: ${APP_ENV:-production}
|
|
APP_NAME: ${APP_NAME:-Mindboost Backend Dev}
|
|
APP_URL: https://${DEV_BACKEND_DOMAIN}
|
|
FRONTEND_URL: https://${DEV_FRONTEND_DOMAIN}
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: ${DEV_DB_HOST:-mariadb-webapp-dev}
|
|
DB_PORT: ${DB_PORT:-3306}
|
|
DB_DATABASE: ${MARIADB_DATABASE}
|
|
DB_USERNAME: ${MARIADB_USER}
|
|
DB_PASSWORD: ${MARIADB_PASSWORD}
|
|
REDIS_HOST: ${DEV_REDIS_HOST:-laravel-redis-dev}
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
|
CACHE_DRIVER: redis
|
|
QUEUE_CONNECTION: redis
|
|
SESSION_DRIVER: redis
|
|
volumes:
|
|
- ${BACKEND_CODE_PATH:-./apps/backend/src}:/app
|
|
- ${BACKEND_PUBLIC_PATH:-./apps/backend/src/public}:/var/www/public
|
|
- ${BACKEND_ENV_FILE:-./env/development/.env.backend}:/var/www/.env
|
|
- ./logs/backend-dev:/var/www/storage/logs
|
|
depends_on:
|
|
- mariadb_webapp_dev
|
|
- laravel-redis-dev
|
|
networks:
|
|
- dev_backend
|
|
|
|
laravel-nginx-dev:
|
|
image: nginx:alpine
|
|
container_name: ${DEV_COMPOSE_PREFIX:-dev}-nginx
|
|
volumes:
|
|
- ./nginx:/etc/nginx/conf.d:ro
|
|
- ${BACKEND_PUBLIC_PATH:-./apps/backend/src/public}:/var/www/public:ro
|
|
depends_on:
|
|
- laravel_backend_dev
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.dev_backend_http.entrypoints=web"
|
|
- "traefik.http.routers.dev_backend_http.rule=Host(`${DEV_BACKEND_DOMAIN}`)"
|
|
- "traefik.http.routers.dev_backend_http.middlewares=traefik-https-redirect"
|
|
- "traefik.http.routers.dev_backend_https.entrypoints=websecure"
|
|
- "traefik.http.routers.dev_backend_https.rule=Host(`${DEV_BACKEND_DOMAIN}`)"
|
|
- "traefik.http.routers.dev_backend_https.tls=true"
|
|
- "traefik.http.routers.dev_backend_https.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
|
- "traefik.http.routers.dev_backend_https.service=dev_backend_service"
|
|
- "traefik.http.services.dev_backend_service.loadbalancer.server.port=80"
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
|
networks:
|
|
- dev_backend
|
|
- proxy
|
|
|
|
nuxt_frontend_dev:
|
|
image: ${NUXT_IMAGE}
|
|
container_name: ${DEV_COMPOSE_PREFIX:-dev}-frontend
|
|
environment:
|
|
VUE_APP_BACKEND_HOST_ADDRESS: https://${DEV_BACKEND_DOMAIN}
|
|
NUXT_PUBLIC_BACKEND_URL: https://${DEV_BACKEND_DOMAIN}
|
|
networks:
|
|
- dev_backend
|
|
- proxy
|
|
depends_on:
|
|
- laravel_backend_dev
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.dev_frontend_http.entrypoints=web"
|
|
- "traefik.http.routers.dev_frontend_http.rule=Host(`${DEV_FRONTEND_DOMAIN}`)"
|
|
- "traefik.http.routers.dev_frontend_http.middlewares=traefik-https-redirect"
|
|
- "traefik.http.routers.dev_frontend_https.entrypoints=websecure"
|
|
- "traefik.http.routers.dev_frontend_https.rule=Host(`${DEV_FRONTEND_DOMAIN}`)"
|
|
- "traefik.http.routers.dev_frontend_https.tls=true"
|
|
- "traefik.http.routers.dev_frontend_https.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
|
- "traefik.http.services.dev_frontend_https.loadbalancer.server.port=${VUE_INTERNAL_PORT}"
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
|
|
|
networks:
|
|
dev_backend:
|
|
driver: bridge
|
|
proxy:
|
|
external: true
|
|
|
|
volumes:
|
|
mindboost_mariadb_data_dev:
|