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:Z environment: - NODE_ENV=development 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:Z env_file: - .env.local depends_on: - database - redis 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: - db-data:/var/lib/mysql:Z networks: - trip-planner-network redis: image: docker.io/library/redis:alpine container_name: trip-planner-redis-dev ports: - "6379:6379" volumes: - redis-data:/data:Z 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 networks: trip-planner-network: driver: bridge volumes: db-data: redis-data: node_modules: vendor: