services: backend: build: context: ./backend dockerfile: Dockerfile network: host container_name: resit_backend ports: - "${BACKEND_PORT}:${BACKEND_PORT}" environment: DB_USER: ${POSTGRES_USER} DB_NAME: ${POSTGRES_DB} DB_HOST: ${POSTGRES_HOST} DB_PASSWORD: ${POSTGRES_PASSWORD} JWT_SECRET: ${JWT_SECRET} LOG_FILE: ${LOG_FILE} PORT: ${BACKEND_PORT} volumes: - ./backend/logs:/var/log/freetube - ./backend/app/uploads:/app/app/uploads - ./backend/app/utils/wait-for-it.sh:/wait-for-it.sh depends_on: - db command: ["/wait-for-it.sh", "${POSTGRES_HOST}:5432", "--", "npm", "start"] db: image: postgres:latest container_name: resit_db ports: - "5432:5432" environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - db_data:/var/lib/postgresql/data frontend: build: context: ./frontend dockerfile: Dockerfile network: host ports: - "5173:5173" volumes: - ./frontend/:/app - /app/node_modules depends_on: - backend volumes: db_data: driver: local