---
title: "Deploy Sell Tickets Without Eventbrite Fees — Hi.Events on Railway"
description: "Self-host event ticketing with Stripe. No per-ticket fees. Own your data."
category: "Other"
url: https://railway.com/deploy/hi-events-ticketing
---

# Deploy Sell Tickets Without Eventbrite Fees — Hi.Events on Railway

Self-host event ticketing with Stripe. No per-ticket fees. Own your data.

**[Deploy Sell Tickets Without Eventbrite Fees — Hi.Events on Railway on Railway](https://railway.com/template/hi-events-ticketing)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/hi-events-ticketing/manifest.json

- **Creator:** SilverBanana
- **Category:** Other
- **Total deploys:** 1

## Template content

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2.1
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### Hi-Events https://ik.imagekit.io/hievents/tr:w-1400,q-100/organizer_logo/rainbow-square-2obBa.png

- **Image:** daveearley/hi.events-all-in-one:v1.9.0-beta

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

## Documentation

# Deploy and Host Hi.Events on Railway

![Hi.Events self-hosted event ticketing platform](https://res.cloudinary.com/asset-cloudinary/image/upload/v1777643801/495786ae-27b2-44a7-81d3-c0d75fbdea18.png)

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

1. Click **Deploy on Railway** — all four services build automatically (~4–5 minutes)
2. Set `APP_KEY` to a 32-character random string and `APP_URL` to your Railway public domain
3. Configure your Stripe API keys (`STRIPE_KEY`, `STRIPE_SECRET`) in the Variables tab
4. Open `[your-domain]/auth/register` to create your admin account
5. 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.

![Hi.Events event management dashboard](https://raw.githubusercontent.com/HiEventsDev/Hi.Events/main/docs/images/dashboard.png)

---

## 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](https://github.com/HiEventsDev/Hi.Events) — source and releases
- [Hi.Events Documentation](https://hi.events/docs) — full configuration and setup reference
- [Stripe Dashboard](https://dashboard.stripe.com/apikeys) — API keys and webhook setup
- [Railway Volumes Documentation](https://docs.railway.com/volumes) — 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.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/hi-events-ticketing
