thats-me/docker-compose.yml
2026-04-30 14:54:39 +02:00

95 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'
- '.:/workspace:cached'
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