version: '3.8' services: server: container_name: server image: server:1.0.0 build: context: ./backend dockerfile: Dockerfile command: npm run start:debug env_file: .env ports: - 127.0.0.1:${SERVER_PORT}:3000 volumes: # changes in host's ./backend directory will be propagated to the container - ./backend:/usr/src/app # this prevents our host files from overriding container's node_modules - exclude:/usr/src/app/node_modules/ networks: - app-network restart: always postgres: container_name: postgres image: postgres:14.3-alpine env_file: .env volumes: - ./backend/database-storage:/var/lib/postgresql/data networks: - app-network environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} restart: always adminer: container_name: adminer image: adminer:4.8.1 env_file: .env ports: - 127.0.0.1:${ADMINER_PORT}:${ADMINER_PORT} environment: ADMINER_DESIGN: nette restart: always depends_on: - postgres-db volumes: exclude: database-storage: networks: app-network: