trip-planner/docker-compose.dev.yml

113 lines
2.5 KiB
YAML

version: '3.8'
services:
frontend:
build:
context: ./frontend
dockerfile: ../docker/frontend/Dockerfile.dev
container_name: trip-planner-frontend-dev
ports:
- "5173:5173"
volumes:
- ./frontend:/app:Z
- node_modules:/app/node_modules
environment:
- NODE_ENV=development
privileged: true
networks:
- trip-planner-network
backend:
build:
context: ./backend
dockerfile: ../docker/backend/Dockerfile.dev
container_name: trip-planner-backend-dev
ports:
- "8000:8000"
volumes:
- ./backend:/var/www/html:Z
- vendor:/var/www/html/vendor
env_file:
- .env.local
depends_on:
- database
- redis
privileged: true
networks:
- trip-planner-network
database:
image: docker.io/library/mariadb:11
container_name: trip-planner-db-dev
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-secret}
MYSQL_DATABASE: ${DB_DATABASE:-trip_planner}
MYSQL_USER: ${DB_USERNAME:-trip_user}
MYSQL_PASSWORD: ${DB_PASSWORD:-secret}
volumes:
- ./docker/data/mysql-data:/var/lib/mysql:Z
privileged: true
networks:
- trip-planner-network
redis:
image: docker.io/library/redis:alpine
container_name: trip-planner-redis-dev
ports:
- "6379:6379"
volumes:
- redis-data:/data
privileged: true
networks:
- trip-planner-network
mailpit:
image: docker.io/axllent/mailpit:latest
container_name: trip-planner-mailpit-dev
ports:
- "1025:1025"
- "8025:8025"
networks:
- trip-planner-network
selenium-hub:
image: selenium/hub:latest
container_name: trip-planner-selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
environment:
- GRID_MAX_SESSION=4
- GRID_BROWSER_TIMEOUT=300
- GRID_TIMEOUT=300
networks:
- trip-planner-network
selenium-chrome:
image: selenium/node-chrome:latest
container_name: trip-planner-selenium-chrome
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- NODE_MAX_INSTANCES=4
- NODE_MAX_SESSION=4
depends_on:
- selenium-hub
networks:
- trip-planner-network
networks:
trip-planner-network:
driver: bridge
volumes:
db-data:
redis-data:
node_modules:
vendor: