version: "3.9" networks: aselole: name: aselole services: app: container_name: aselole-app build: context: . dockerfile: Dockerfile volumes: - ./src:/var/www/html depends_on: - postgres networks: - aselole postgres: container_name: aselole-db image: postgres:15 restart: always volumes: - ./docker/postgres/data:/var/lib/postgres/data environment: - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ports: - "5432:5432" networks: - aselole web: container_name: aselole-web image: nginx:stable-alpine restart: always ports: - "85:80" volumes: - ./src:/var/www/html - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf networks: - aselole # Database management with pgAdmin pgadmin: image: dpage/pgadmin4 container_name: aselole-pgAdmin environment: - PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL} - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD} ports: - "5050:80" depends_on: - postgres networks: - aselole # Database management with Adminer adminer: container_name: aselole-adminer image: adminer restart: always ports: - "8080:8080" depends_on: - postgres networks: - aselole