94 lines
No EOL
3.8 KiB
YAML
94 lines
No EOL
3.8 KiB
YAML
services:
|
|
# Laravel Backend Service
|
|
laravel.test:
|
|
build:
|
|
context: './backend/vendor/laravel/sail/runtimes/8.4'
|
|
dockerfile: Dockerfile
|
|
args:
|
|
WWWGROUP: '${WWWGROUP:-20}'
|
|
WWWUSER: '${WWWUSER:-501}'
|
|
image: 'sail-8.4/app'
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
ports:
|
|
- '${VITE_PORT:-5180}:5173'
|
|
environment:
|
|
WWWUSER: '${WWWUSER:-501}'
|
|
WWWGROUP: '${WWWGROUP:-20}'
|
|
LARAVEL_SAIL: 1
|
|
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
|
|
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
|
|
IGNITION_LOCAL_SITES_PATH: '${PWD}'
|
|
|
|
# --- Anbindung an das Mutterschiff ---
|
|
DB_CONNECTION: mysql
|
|
DB_HOST: global-mysql
|
|
DB_PORT: 3306
|
|
DB_DATABASE: thats-me
|
|
DB_USERNAME: root
|
|
DB_PASSWORD: password
|
|
MAIL_HOST: global-mailpit
|
|
MAIL_PORT: 1025
|
|
REDIS_HOST: global-redis
|
|
volumes:
|
|
- './backend:/var/www/html'
|
|
networks:
|
|
- sail
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.thatsme-main.rule=Host(`thats-me.test`)"
|
|
- "traefik.http.routers.thatsme-main.entrypoints=websecure"
|
|
- "traefik.http.routers.thatsme-main.tls=true"
|
|
- "traefik.http.routers.thatsme-main.service=thatsme-service"
|
|
- "traefik.http.routers.thatsme-portal.rule=Host(`portal.thats-me.test`)"
|
|
- "traefik.http.routers.thatsme-portal.entrypoints=websecure"
|
|
- "traefik.http.routers.thatsme-portal.tls=true"
|
|
- "traefik.http.routers.thatsme-portal.service=thatsme-service"
|
|
- "traefik.http.routers.thatsme-api.rule=Host(`api.thats-me.test`)"
|
|
- "traefik.http.routers.thatsme-api.entrypoints=websecure"
|
|
- "traefik.http.routers.thatsme-api.tls=true"
|
|
- "traefik.http.routers.thatsme-api.service=thatsme-service"
|
|
- "traefik.http.routers.thatsme-assets.rule=Host(`assets.thats-me.test`)"
|
|
- "traefik.http.routers.thatsme-assets.entrypoints=websecure"
|
|
- "traefik.http.routers.thatsme-assets.tls=true"
|
|
- "traefik.http.routers.thatsme-assets.service=thatsme-assets-service"
|
|
- "traefik.http.services.thatsme-service.loadbalancer.server.port=80"
|
|
- "traefik.http.services.thatsme-assets-service.loadbalancer.server.port=5173"
|
|
- "traefik.http.services.thatsme-assets-service.loadbalancer.server.scheme=http"
|
|
- "traefik.docker.network=proxy"
|
|
|
|
# Quasar Frontend Service
|
|
quasar.app:
|
|
image: 'node:20-alpine'
|
|
working_dir: /app
|
|
command: sh -c "npm install && npm run dev"
|
|
ports:
|
|
- '${QUASAR_PORT:-9000}:9000'
|
|
environment:
|
|
NODE_ENV: development
|
|
volumes:
|
|
- './frontend:/app'
|
|
- 'quasar-node-modules:/app/node_modules'
|
|
networks:
|
|
- sail
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.thatsme-app.rule=Host(`app.thats-me.test`)"
|
|
- "traefik.http.routers.thatsme-app.entrypoints=websecure"
|
|
- "traefik.http.routers.thatsme-app.tls=true"
|
|
- "traefik.http.routers.thatsme-app.service=thatsme-app-service"
|
|
- "traefik.http.services.thatsme-app-service.loadbalancer.server.port=9000"
|
|
- "traefik.http.services.thatsme-app-service.loadbalancer.server.scheme=http"
|
|
- "traefik.docker.network=proxy"
|
|
|
|
networks:
|
|
sail:
|
|
driver: bridge
|
|
proxy:
|
|
external: true
|
|
|
|
volumes:
|
|
quasar-node-modules:
|
|
driver: local |