rmi-backend/docker-compose.email.yml
cryptorugmunch 30a6508893 security(auth): wire AuthMiddleware, enforce RMI_AUTH_TOKEN, fix PUBLIC_WRITE_PREFIXES, fail-closed ADMIN_API_KEY defaults
feat(databus): add deployer_tokens + funding_source providers via public RPC
feat(databus): register 10 ghost chain passthroughs (104 chains, 127 providers)
fix(databus): structured error logging in ProviderChain, fix _coindesk_news import
fix(databus): _passthrough_alerts returns None on failure (not fake empty data)
fix(databus): enable Qdrant API key enforcement

refactor(bulletin): extract badges to badges.py, core.py -> 33-line facade
refactor(bulletin): rewrite bulletin.py — canonical Post schema, auth fixes, XSS sanitize
refactor(bulletin): consolidate DataBus to supabase_service, remove raw Supabase calls
refactor(bulletin): remove bulletin_board.py dead code (682 lines), fix mount.py

feat(admin): bulletin admin router (16 endpoints, RBAC auth) for darkroom
feat(admin): fix ADMIN_API_KEY defaults to empty in 6 routers
chore(admin): developer_routes, investigator_routes, premium_routes -> 501 stubs
feat(infra): bind SearXNG/FlareSolverr/Webmail/Vane to 127.0.0.1
chore(infra): postgres healthcheck, resource limits, memory tuning, DB healthchecks
fix(infra): Nginx HTTPS for rugmunch.io + api + admin darkroom

Prod audit: 15 critical/high issues resolved across auth, security, infrastructure, DataBus
2026-07-08 22:20:13 +02:00

20 lines
441 B
YAML

# RMI Email System
# ===============
# Self-hosted email for rugmunch.io
# Postfix + Dovecot + SnappyMail webmail
#
# Access: https://webmail.rugmunch.io
services:
webmail:
image: djmaze/snappymail:latest
container_name: rmi-webmail
restart: unless-stopped
networks:
- rmi_network
ports:
- "127.0.0.1:8888:8888"
volumes:
- /srv/snappymail/data:/var/lib/snappymail
environment:
- TZ=UTC