version: '3.8' services: frontend: build: context: ./frontend dockerfile: ../docker/frontend/Dockerfile.prod container_name: trip-planner-frontend ports: - "${FRONTEND_PORT:-80}:80" restart: unless-stopped networks: - trip-planner-network backend: build: context: ./backend dockerfile: ../docker/backend/Dockerfile.prod container_name: trip-planner-backend ports: - "${BACKEND_PORT:-8080}:80" environment: APP_ENV: production APP_DEBUG: false APP_URL: ${APP_URL} DB_CONNECTION: mysql DB_HOST: ${DB_HOST} DB_PORT: ${DB_PORT:-3306} DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} REDIS_HOST: redis REDIS_PORT: 6379 CACHE_DRIVER: redis QUEUE_CONNECTION: redis SESSION_DRIVER: redis depends_on: - redis restart: unless-stopped networks: - trip-planner-network redis: image: docker.io/library/redis:alpine container_name: trip-planner-redis volumes: - redis-data:/data command: redis-server --appendonly yes restart: unless-stopped networks: - trip-planner-network networks: trip-planner-network: driver: bridge volumes: redis-data: