mandant-crm/docker/docker-compose.yml

70 lines
1.4 KiB
YAML
Raw Permalink Normal View History

services:
backend:
build:
context: .
dockerfile: php/Dockerfile
working_dir: /var/www/html
volumes:
- ../backend:/var/www/html
command: php artisan serve --host=0.0.0.0 --port=8000
environment:
APP_ENV: local
DB_HOST: mysql
DB_DATABASE: mandantcrm
DB_USERNAME: mandantcrm
DB_PASSWORD: secret
depends_on:
mysql:
condition: service_healthy
networks:
- mandant
frontend:
image: node:20-alpine
working_dir: /app
volumes:
- ../frontend:/app
command: sh -c "npm install && npm run dev"
environment:
- HOST=0.0.0.0
networks:
- mandant
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- backend
- frontend
networks:
- mandant
mysql:
image: mysql:8.0
environment:
MYSQL_DATABASE: mandantcrm
MYSQL_USER: mandantcrm
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: rootsecret
volumes:
- mysql_data:/var/lib/mysql
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "mandantcrm", "-psecret"]
interval: 5s
timeout: 5s
retries: 10
networks:
- mandant
volumes:
mysql_data:
networks:
mandant:
driver: bridge