# 轻量集成:仅 Listmonk(Go)+ PostgreSQL # 视频/预约沿用既有 MiroTalk + The Lounge,不自托管 Cal/Owncast/PeerTube services: postgres-int: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-nomadro} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD} ports: - "127.0.0.1:5433:5432" volumes: - pg-int:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-nomadro}"] interval: 10s timeout: 5s retries: 5 mem_limit: 128m listmonk: image: listmonk/listmonk:v5.0.0 restart: unless-stopped depends_on: postgres-int: condition: service_healthy ports: - "127.0.0.1:9030:9000" environment: LISTMONK_app__address: 0.0.0.0:9000 LISTMONK_app__admin_username: ${LISTMONK_ADMIN_USER:-admin} LISTMONK_app__admin_password: ${LISTMONK_ADMIN_PASSWORD:?set LISTMONK_ADMIN_PASSWORD} LISTMONK_db__host: postgres-int LISTMONK_db__port: 5432 LISTMONK_db__user: ${POSTGRES_USER:-nomadro} LISTMONK_db__password: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD} LISTMONK_db__database: listmonk LISTMONK_db__ssl_mode: disable command: [sh, -c, "./listmonk --install --idempotent --yes && ./listmonk"] mem_limit: 128m volumes: pg-int: