version: "3.9" services: app: container_name: ${PROJECT_NAME}-app image: ghpvc-app build: context: ./ dockerfile: ./.docker/php/Dockerfile restart: unless-stopped depends_on: - postgres working_dir: /app volumes: - ./:/app - ./.docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf:ro networks: - ghpvc nginx: container_name: ${PROJECT_NAME}-nginx image: nginx:1.21-alpine restart: unless-stopped depends_on: - app ports: - "80:80" environment: VIRTUAL_HOST: app.ghpvc.localhost volumes: - ./.docker/nginx/app.ghpvc.80.conf:/etc/nginx/conf.d/app.ghpvc.80.conf:ro - ./public:/app/public:ro networks: - ghpvc postgres: container_name: ${PROJECT_NAME}-postgres image: postgres:13.4-alpine restart: unless-stopped ports: - "${DB_PORT:-5432}:${DB_PORT:-5432}" environment: - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=${DB_NAME} volumes: - ./.docker-volume-postgres:/var/lib/postgresql/data networks: - ghpvc volumes: .docker-volume-postgres: driver: local networks: ghpvc: driver: bridge