Railway

Deploy Eary Form

Self-hosted, privacy contact form with CAPTCHA anti-spam, admin dashboard

Deploy Eary Form

Just deployed

/var/lib/postgresql/data

Just deployed

Eary Form

Self-hosted, privacy-first contact form backend with CAPTCHA anti-spam and HTMX admin dashboard.

Live Example

See it in action: Contact Page

Features

  • Embeddable forms — Add a contact form to any site with a single HTML snippet
  • HTMX-powered admin — No page reloads, smooth SPA-like experience without JavaScript frameworks
  • Spam protection — Cap CAPTCHA integration, honeypot fields, and rate limiting
  • Privacy-first — Your data stays on your server. No third-party trackers or analytics
  • Export data — Download submissions as CSV
  • Email notifications — SMTP or SendGrid integration for new submission alerts
  • Database-backed — PostgreSQL for reliable storage
  • One-click deploy — Deploy on Railway with a single click

Services

ServiceDescription
Form APIFastAPI backend serving the admin dashboard and public form endpoints
PostgreSQLDatabase for forms and submissions
Cap CAPTCHACAPTCHA service for spam protection
ValkeyRedis-compatible in-memory store for rate limiting

Environment Variables

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string (auto-provided by Railway plugin)
ADMIN_PASSWORDNoPassword for admin dashboard login
SESSION_SECRET_KEYNoSecret for session signing (auto-generated if not set)
CAP_ENDPOINTNoCap CAPTCHA service endpoint
RATE_LIMITNoMax submissions per IP per hour (default: 10)

Deploy and Host

About Hosting

Eary Form is designed to run on Railway. It uses PostgreSQL for data storage, Cap CAPTCHA for spam protection, and Valkey for rate limiting — all available as Railway plugins. The FastAPI backend is automatically built with Nixpacks and requires zero configuration beyond setting your admin password.

Why Deploy

Most contact form solutions (Google Forms, Typeform, etc.) send your visitors' data to third parties. Eary Form keeps everything on your own infrastructure — your submissions, your rules, your uptime. Perfect for privacy-conscious businesses, developers who want full control, or anyone tired of pay-per-submission pricing models.

Common Use Cases

  • Personal website contact forms — Embed a form on your portfolio or blog
  • Business lead capture — Collect inquiries without third-party data sharing
  • Support ticket intake — Simple submission form with admin dashboard to track and manage entries
  • Self-hosted alternative — Replace Google Forms, Typeform, or Jotform for privacy-sensitive use cases
  • Blogger integration — Add a contact form to your Blogger blog without JavaScript frameworks (see live example)

Dependencies for

Deployment Dependencies

  • PostgreSQL (auto-provisioned via Railway plugin)
  • Cap CAPTCHA (deployed as a separate service)
  • Valkey (deployed as a separate service for rate limiting, Redis-compatible)

Getting Started

  1. Deploy this template on Railway
  2. The PostgreSQL database is automatically provisioned
  3. Set ADMIN_PASSWORD to secure your admin dashboard
  4. Access the admin dashboard at /admin
  5. Create your first form and grab the embed snippet from the homepage

Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

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

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

Letta