version: '3.8' services: mautrix-hospitable: build: . container_name: mautrix-hospitable restart: unless-stopped volumes: - ./config.yaml:/app/config.yaml:ro - ./data:/app/data - ./logs:/app/logs ports: - "29338:29338" environment: - TZ=UTC networks: - matrix-bridges healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:29338/_matrix/mau/hospitable/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s depends_on: - postgres logging: driver: "json-file" options: max-size: "10m" max-file: "3" # Optional PostgreSQL database (remove if using SQLite) postgres: image: postgres:15-alpine container_name: mautrix-hospitable-db restart: unless-stopped environment: POSTGRES_DB: mautrix_hospitable POSTGRES_USER: mautrix_hospitable POSTGRES_PASSWORD: your_secure_password_here volumes: - postgres_data:/var/lib/postgresql/data networks: - matrix-bridges healthcheck: test: ["CMD-SHELL", "pg_isready -U mautrix_hospitable"] interval: 30s timeout: 10s retries: 3 networks: matrix-bridges: external: true volumes: postgres_data: