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
20 lines
441 B
YAML
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
|