services: redis: container_name: ${PROJECT_NAME}-redis-local image: redis:latest ports: - ${REDIS_PORT}:6379 networks: redis_net: aliases: - redis restart: unless-stopped backend: container_name: ${PROJECT_NAME}-backend-local build: context: ./docker/backend dockerfile: Dockerfile args: - UID=${UID:-1000} - GID=${GID:-1000} - USER=${USER-laravel} volumes: - ./src:/app working_dir: /app networks: back_net: aliases: - backend redis_net: aliases: - backend nginx: container_name: ${PROJECT_NAME}-nginx-local build: context: ./docker/nginx dockerfile: Dockerfile args: - UID=${UID:-1000} - GID=${GID:-1000} - USER=${USER:-laravel} restart: unless-stopped ports: - ${NGINX_PORT}:8000 volumes: - ./src:/app depends_on: - backend networks: back_net: aliases: - nginx db: image: mariadb:10.6 restart: unless-stopped tty: true ports: - ${DB_PORT}:3306 environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} SERVICE_TAGS: dev SERVICE_NAME: db volumes: - mysql-data:/var/lib/mysql networks: back_net: aliases: - db phpmyadmin: image: phpmyadmin:5.2.0 environment: PMA_ARBITRARY: 1 PMA_HOST: db PMA_PORT: 3306 PMA_USER: ${DB_USER} PMA_PASSWORD: ${DB_PASSWORD} depends_on: - db ports: - 8888:80 networks: back_net: aliases: - pma node: image: node:18-alpine container_name: ${PROJECT_NAME}-node working_dir: /app volumes: - ./src:/app - /app/node_modules ports: - "${HMR_PORT}:8080" networks: back_net: aliases: - node environment: - NODE_ENV=development command: sh -c "npm install && npm run dev" networks: back_net: name: ${PROJECT_NAME}_back_net_local driver: bridge redis_net: name: ${PROJECT_NAME}_redis_net_local driver: bridge volumes: mysql-data: