
Deploy Deploy and Host Hi.Events — Event Ticketing on Railway
Self-host event ticketing with Stripe. No per-ticket fees. Own your data.
Redis
Just deployed
/data
Just deployed
/app/backend/storage
Just deployed
/var/lib/postgresql/data
Deploy and Host Hi.Events on Railway

Hi.Events is an open-source event management and ticketing platform with 3.6k+ GitHub stars — Stripe payments, QR code check-in, embeddable ticket widget, custom event pages, promo codes, waitlists, attendee messaging, and a full REST API, all self-hosted with zero per-ticket platform fees.
Eventbrite charges 6.5% + $1.79 per ticket. On a 200-person $50 event that's $1,008 in platform fees — every single time. Hi.Events on Railway costs ~$10–15/month flat regardless of how many events you run or tickets you sell. Your revenue. Your attendee data. Your platform.
What This Template Deploys
| Service | Purpose |
|---|---|
| Hi.Events | The event management platform — event creation, ticket sales, checkout, attendee management, QR check-in, analytics, and REST API on port 8123 |
| PostgreSQL | Persistent database for events, orders, attendees, tickets, promo codes, and user accounts |
| Redis | Queue backend for email notifications, scheduled messages, waitlist processing, and background task handling |
| Task Scheduler | Handles waitlist ticket releases, scheduled attendee messages, and background job processing |
All services connect over Railway's private internal network. Database and Redis credentials are injected automatically via reference variables.
About Hosting Hi.Events
Running Hi.Events in production requires coordinating a PHP/Laravel application, PostgreSQL database, Redis queue, and a task scheduler — all behind HTTPS with Stripe webhook endpoints for payment processing. Without a managed host, you're configuring Docker Compose, inter- service networking, SSL, queue workers, and cron jobs manually.
Railway provisions all of it — private networking, HTTPS, and a public domain ready to receive Stripe webhooks and serve ticket buyers immediately after deploy.
Typical cost: ~$10–15/month on Railway's Hobby plan for the full four-service stack. Eventbrite charges 6.5% + $1.79 per paid ticket — for a 500-ticket $30 event that's $1,345 in fees per event. Hi.Events on Railway eliminates per-ticket platform fees entirely. You pay Railway compute and Stripe's standard processing fee (2.9% + $0.30) — nothing more.
Deploy in Under 5 Minutes
- Click Deploy on Railway — all four services build automatically (~4–5 minutes)
- Set
APP_KEYto a 32-character random string andAPP_URLto your Railway public domain - Configure your Stripe API keys (
STRIPE_KEY,STRIPE_SECRET) in the Variables tab - Open
[your-domain]/auth/registerto create your admin account - Create your first event and share the ticket link — payments go directly to your Stripe account with instant payouts
No SSH. No server administration. No ticketing platform fees.

Common Use Cases
- Self-hosted alternative to Eventbrite — replace 6.5% + $1.79 per ticket with flat Railway compute; all revenue goes directly to your Stripe account with no platform cut
- Self-hosted alternative to Luma — full data ownership, embeddable widgets, custom order forms, and no per-ticket fees with the same polished checkout experience
- Conference and multi-session event management — create tiered ticket types (early bird, VIP, GA), configure capacity per tier, manage waitlists, and message registered attendees before and after the event
- Club nights and recurring venue events — run repeated events with promo codes, partial refund policies, and QR code check-in without paying Eventbrite fees on every door
- Agency client ticketing — deploy a white-label platform per client; each connects their own Stripe account for direct payouts
- GDPR-compliant event ticketing — attendee data stays in your Railway PostgreSQL instance; no third-party sharing with advertising or analytics platforms
Configuration
| Variable | Required | Description |
|---|---|---|
APP_KEY | ✅ Required | Laravel application key — generate a random 32-character string |
APP_URL | ✅ Required | Your Railway public domain — e.g. https://your-app.up.railway.app |
DB_HOST | ✅ Auto-injected | PostgreSQL hostname via Railway reference variable |
DB_DATABASE | ✅ Auto-injected | Database name via Railway reference variable |
DB_USERNAME | ✅ Auto-injected | Database user via Railway reference variable |
DB_PASSWORD | ✅ Auto-injected | Database password via Railway reference variable |
REDIS_HOST | ✅ Auto-injected | Redis hostname via Railway reference variable |
STRIPE_KEY | ✅ Required | Stripe publishable key — from your Stripe dashboard |
STRIPE_SECRET | ✅ Required | Stripe secret key — from your Stripe dashboard |
STRIPE_WEBHOOK_SECRET | Recommended | Stripe webhook secret — configure in Stripe dashboard to validate payment events |
MAIL_HOST | Recommended | SMTP host for attendee confirmation and notification emails |
MAIL_USERNAME | Recommended | SMTP username |
MAIL_PASSWORD | Recommended | SMTP password |
APP_ENV | Pre-set | production |
Hi.Events vs. Managed Ticketing Platforms
| Hi.Events (Railway) | Eventbrite | Luma | Pretix (cloud) | |
|---|---|---|---|---|
| Platform fee per ticket | ✅ None | ❌ 6.5% + $1.79 | ❌ 2% + fees | ❌ 2.5% + €0.25 |
| 500 × $30 ticket event | ✅ ~$0 platform fee | ❌ ~$1,345 in fees | ❌ ~$350 in fees | ❌ ~$425 in fees |
| Attendee data ownership | ✅ Your database | ❌ Eventbrite owns | ❌ Luma owns | ❌ Pretix cloud |
| Stripe instant payouts | ✅ Direct to you | ❌ Delayed payout | ✅ Yes | ✅ Yes |
| Embeddable widget | ✅ Yes | ✅ Yes | ❌ No | ✅ Yes |
| QR code check-in | ✅ Built-in | ✅ App required | ✅ Yes | ✅ Yes |
| Custom order forms | ✅ Yes | ⚠️ Limited | ❌ No | ✅ Yes |
| Waitlists | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Self-hostable | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
| White-label | ✅ Full control | ❌ Eventbrite branding | ❌ No | ⚠️ Partial |
Dependencies for Hi.Events Hosting
- Railway account — Hobby plan (~$10–15/month) covers all four services
- Stripe account for payment processing (2.9% + $0.30 standard rate — no additional fees)
- SMTP provider for attendee confirmation and notification emails (optional but recommended)
Deployment Dependencies
- Hi.Events GitHub Repository — source and releases
- Hi.Events Documentation — full configuration and setup reference
- Stripe Dashboard — API keys and webhook setup
- Railway Volumes Documentation — persistent storage
Implementation Details
Hi.Events runs alongside PostgreSQL, Redis, and a task scheduler over Railway's private
network. The scheduler handles waitlist releases and scheduled messages — without it,
waitlists will not release tickets. Configure [your-domain]/stripe/webhook in your Stripe
dashboard after deploy to enable real-time payment processing. All credentials are injected
automatically from Railway's reference variable system.
Frequently Asked Questions
How much does Hi.Events cost compared to Eventbrite? Hi.Events on Railway runs at ~$10–15/month flat regardless of event volume or ticket count. Eventbrite charges 6.5% + $1.79 per paid ticket — for a 500-person $30 event that's ~$1,345 in platform fees per event. For organisers running multiple events per year, the savings compound significantly. You still pay Stripe's standard 2.9% + $0.30 per transaction, but no additional platform cut.
Do my attendees' data stay private? Yes. All attendee data — names, emails, custom order form answers, ticket purchases — is stored in your Railway PostgreSQL instance. Hi.Events does not share attendee data with advertising platforms or analytics services. For GDPR-regulated events in the EU, this makes Hi.Events the compliant alternative to platforms that monetise attendee data.
Can I embed the ticket widget on my own website? Yes. Hi.Events provides an embeddable JavaScript widget you can drop onto any webpage — your own site, a sponsor's page, or a landing page. The widget loads your event's ticket types and handles checkout without redirecting to a separate platform.
Do I lose event data and orders if Railway redeploys? No. All events, orders, attendees, and ticket data are stored in the Railway PostgreSQL database, not inside the container. Redeploys, version updates, and container restarts do not affect any event or transaction data.
Can I run multiple events simultaneously? Yes — unlimited concurrent events, each with their own ticket types, capacity limits, promo codes, order forms, and messaging. No per-event or per-ticket limits.
How do I set up QR code check-in at the door? Hi.Events generates a unique QR code per ticket. Open the check-in page on any mobile browser, scan QR codes at the door, and attendees are marked checked in in real time. No app download or hardware required.
Why Deploy and Host Hi.Events on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Hi.Events on Railway, you get a production-ready event ticketing platform with Stripe payments, QR check-in, attendee messaging, and embeddable widgets — at ~$10–15/month flat with zero per-ticket platform fees and full ownership of your attendee data.
Template Content
