Railway

Deploy anonchat

End-to-end encrypted, anonymous messaging inbox with admin dashboard

Deploy anonchat

Just deployed

/app/data/uploads

/var/lib/postgresql/data

Deploy and Host Anonchat

About Hosting

Anonchat is a self-hosted, end-to-end encrypted, anonymous messaging inbox. Anyone can create an anonymous identity - no email, phone number, or account - and get a private, persistent conversation with the site owner. The owner gets a Discord/WhatsApp-style admin dashboard with every conversation, real-time replies, and moderation tools.

This template provisions the complete stack in one click:

  • anonchat - the app, pulled from the official Docker image (shirasakaren/anonchat:latest), with a persistent volume at /app/data/uploads for attachment storage and a /health healthcheck
  • Postgres - a managed PostgreSQL database on Railway's private network, wired to the app automatically; migrations run on every start

Everything is configured for you: the database URL, a freshly generated session secret, the public URL, and proxy settings. No variables to fill in.

Why Deploy

  • Privacy by design - message content, attachments, and reactions are end-to-end encrypted; the server stores and relays ciphertext only
  • Zero-friction visitors - no account, email, or phone number needed to reach you
  • One-click infrastructure - managed Postgres, persistent storage, and TLS are provisioned and wired automatically
  • Operationally minimal - the only required secret is generated for you on every deploy

Common Use Cases

  • A private inbox for your readers, viewers, or community
  • Anonymous feedback and tip lines that stay persistent per visitor
  • A support channel where people can start a conversation without signing up
  • Any audience where anonymity makes people more willing to reach out

Dependencies for Deploying Anonchat

Deployment Dependencies

  • PostgreSQL - provisioned by this template and connected over Railway's private network
  • Persistent volume - attached at /app/data/uploads for attachment storage; AWS S3, Cloudflare R2, MinIO, or any S3-compatible provider can replace it by setting the S3_* variables
  • A public domain - a *.up.railway.app domain is generated automatically; attach a custom domain at any time

First steps

  1. Click Deploy.
  2. When the deploy finishes, open the generated *.up.railway.app URL.
  3. Complete the one-time admin setup wizard (admin name, password, 2FA).

That's it. Visitors who open the URL can create an anonymous identity and start chatting; you reply from the admin dashboard.

Optional configuration

  • Attach a custom domain - PUBLIC_URL updates automatically
  • Switch attachment storage to AWS S3, Cloudflare R2, MinIO, or another S3-compatible provider with the S3_* variables on the anonchat service
  • Enable email digests (EMAIL_DRIVER=smtp or resend) and Web Push (VAPID_*) - see the .env.example in the repository

Links


Template Content

More templates in this category

View Template
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
41
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51