services: postgres: hostname: postgres image: postgres:15-alpine restart: unless-stopped volumes: - ./config/postgres:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: itsasecret POSTGRES_USER: dendrite POSTGRES_DATABASE: dendrite healthcheck: test: ["CMD-SHELL", "pg_isready -U dendrite"] interval: 5s timeout: 5s retries: 5 monolith: hostname: monolith image: matrixdotorg/dendrite-monolith:latest ports: - 8008:8008 - 8448:8448 volumes: - ./config/dendrite:/etc/dendrite - ./config/mautrix-whatsapp:/etc/whatsapp - ./config/mautrix-telegram:/etc/telegram - ./config/mautrix-discord:/etc/discord - ./config/media:/var/dendrite/media - ./config/jetstream:/var/dendrite/jetstream - ./config/search_index:/var/dendrite/searchindex depends_on: postgres: condition: service_healthy restart: unless-stopped mautrix-whatsapp: hostname: whatsapp image: dock.mau.dev/mautrix/whatsapp restart: unless-stopped volumes: - ./config/mautrix-whatsapp:/data command: ["/usr/bin/mautrix-whatsapp", "--ignore-unsupported-server"] depends_on: postgres: condition: service_healthy mautrix-telegram: hostname: telegram image: dock.mau.dev/mautrix/telegram restart: unless-stopped volumes: - ./config/mautrix-telegram:/data depends_on: postgres: condition: service_healthy mautrix-discord: hostname: discord image: dock.mau.dev/mautrix/discord restart: unless-stopped volumes: - ./config/mautrix-discord:/data depends_on: postgres: condition: service_healthy cleanmedia: hostname: cleanmedia image: rogsme/cleanmedia volumes: - ./config/dendrite:/etc/dendrite - ./config/media:/var/dendrite/media environment: - CRON=0 0 * * * - CLEANMEDIA_OPTS=-c /etc/dendrite/dendrite.yaml -t 30 -l depends_on: - monolith