version: "3.8" services: postgres: image: postgres:16-alpine container_name: bb-apartment-postgres environment: POSTGRES_USER: ${POSTGRES_USER:-bbapartment} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme} POSTGRES_DB: ${POSTGRES_DB:-bb_apartment} volumes: - postgres-data:/var/lib/postgresql/data networks: - bb-apartment-network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-bbapartment} -d ${POSTGRES_DB:-bb_apartment}"] interval: 10s timeout: 5s retries: 5 nextjs: build: context: . dockerfile: Dockerfile container_name: bb-apartment-nextjs env_file: - .env.local environment: DATABASE_URL: postgresql://${POSTGRES_USER:-bbapartment}:${POSTGRES_PASSWORD:-changeme}@postgres:5432/${POSTGRES_DB:-bb_apartment} ports: - "${NEXTJS_HOST_PORT:-3000}:3000" depends_on: postgres: condition: service_healthy networks: - bb-apartment-network n8n: image: n8nio/n8n:latest container_name: bb-apartment-n8n env_file: - .env.local environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER:-admin} - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD:-changeme} - WEBHOOK_URL=${N8N_WEBHOOK_URL:-https://n8n.bb-apartment.de/} - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=postgres - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-bb_apartment} - DB_POSTGRESDB_USER=${POSTGRES_USER:-bbapartment} - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD:-changeme} volumes: - n8n-data:/home/node/.n8n ports: - "${N8N_HOST_PORT:-5678}:5678" depends_on: postgres: condition: service_healthy networks: - bb-apartment-network volumes: postgres-data: n8n-data: networks: bb-apartment-network: driver: bridge