# Local development infrastructure. Start PostgreSQL 18 with: docker compose up -d postgres services: postgres: image: postgres:18 container_name: lms-postgres environment: POSTGRES_DB: ${LMS_DB_NAME:-lms} POSTGRES_USER: ${LMS_DB_USER:-lms} POSTGRES_PASSWORD: ${LMS_DB_PASSWORD:-lms} ports: - "${LMS_DB_PORT:-5432}:5432" volumes: # PostgreSQL 18+ stores data under a versioned subdirectory of /var/lib/postgresql. - lms_pgdata:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${LMS_DB_USER:-lms} -d ${LMS_DB_NAME:-lms}"] interval: 5s timeout: 3s retries: 10 volumes: lms_pgdata: