Deploy Pretix | Open Source Ticket Management, Eventbrite Alternative
Self Host Pretix. Ticketing platform with seating plans, payments, check-in
Pretix
Just deployed
/data
Just deployed
/var/lib/postgresql/data
Redis
Just deployed
/data

Deploy and Host Pretix on Railway
Deploy Pretix on Railway to run your own fully featured event ticketing platform. Self-host Pretix and take full control of ticket sales, check-ins, seating plans, and attendee data — without per-ticket fees eating into your margins.
This Railway template pre-configures Pretix with PostgreSQL for persistent storage, Redis for caching, sessions, and Celery task processing, plus an admin account ready to go. The standalone Docker image bundles nginx, gunicorn, Celery workers, and cron into a single container managed by supervisord.

Getting Started with Pretix on Railway
After deployment completes, visit your Railway-generated URL to see the Pretix landing page. Navigate to /control/ to access the admin panel and log in with the email and password you configured in PRETIX_ADMIN_EMAIL and PRETIX_ADMIN_PASSWORD. Your first step is creating an Organizer — this represents your company or team that hosts events. From the organizer dashboard, click "Create a new event" to set up your first event with ticket products, quotas, and payment methods. Configure an SMTP provider under Global Settings to enable order confirmation emails.

About Hosting Pretix
Pretix is an open-source event ticketing platform built with Python and Django, developed since 2014 by a team of 28. It handles the full ticketing lifecycle — from online shops and box office sales to on-site check-in with mobile scanning apps.
Key features of self-hosted Pretix:
- Interactive seating plans with a graphical editor for venues of any size
- 30+ payment gateways including Stripe, PayPal, Mollie, and bank transfer
- Multi-language and multi-currency support for international events
- Plugin architecture for extending functionality with custom Python/Django plugins
- REST API and webhooks for programmatic integration and automation
- Embeddable ticket widget to sell directly from your own website
- Waiting lists with automated re-allocation when tickets free up
- Flexible products — add-ons, bundles, vouchers, quotas, memberships
Why Deploy Pretix on Railway
Railway simplifies Pretix self-hosting to a one-click deploy:
- Zero per-ticket fees — pay only for infrastructure
- PostgreSQL and Redis provisioned and wired automatically
- TLS certificates and public URL handled by Railway's edge proxy
- Volume-backed persistent storage for uploads and media
- Scale workers and memory from the dashboard as event traffic grows
Common Use Cases for Self-Hosted Pretix
- Conferences with workshops — sell main tickets plus add-on workshop sessions with separate quotas
- Museums and timed entries — restrict visitor capacity per time slot across multiple exhibit areas
- Festival multi-day passes — offer single-day, weekend, and full-event ticket tiers with early-bird pricing
- Corporate internal events — manage registrations for team offsites and company conferences with full data ownership
Dependencies for Pretix on Railway
This template deploys three services:
- Pretix —
pretix/standalone:stable(~662 MB) — the all-in-one container with nginx, gunicorn, Celery, and cron - PostgreSQL — Railway-managed database for orders, events, and user data
- Redis — Railway-managed cache for sessions, Celery broker, and result backend
Environment Variables Reference for Pretix
| Variable | Description |
|---|---|
PRETIX_PRETIX_URL | Public URL with https:// prefix |
PRETIX_DJANGO_SECRET | Django secret key for session signing and CSRF |
PRETIX_DATABASE_HOST | PostgreSQL host (Railway private domain) |
PRETIX_REDIS_LOCATION | Redis connection URL for caching and sessions |
PRETIX_CELERY_BROKER | Redis URL for Celery task queue |
PRETIX_ADMIN_EMAIL | Initial admin account email |
PRETIX_ADMIN_PASSWORD | Initial admin account password (bootstrap-only) |
NUM_WORKERS | Gunicorn worker count (default: 2x CPU) |
Deployment Dependencies
- Runtime: Python 3.13 on Debian Trixie
- Docker Hub: pretix/standalone
- GitHub: pretix/pretix (2.4k stars, AGPL v3)
- Docs: docs.pretix.eu
Hardware Requirements for Self-Hosting Pretix
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPUs |
| RAM | 1 GB | 2–4 GB |
| Storage | 1 GB | 5 GB+ (scales with media uploads) |
| Runtime | Docker | Docker with volume for /data |
Each gunicorn worker uses approximately 158 MB RAM. The default NUM_WORKERS=2 keeps memory usage around 1.5 GB total including Celery, nginx, and Redis overhead.
Self-Hosting Pretix with Docker
Pull and run the standalone image with Docker Compose. Create a docker-compose.yml:
services:
pretix:
image: pretix/standalone:stable
ports:
- "8080:80"
volumes:
- pretix-data:/data
environment:
PRETIX_PRETIX_URL: "https://tickets.example.com"
PRETIX_PRETIX_INSTANCE_NAME: "My Tickets"
PRETIX_DATABASE_BACKEND: "postgresql"
PRETIX_DATABASE_HOST: "db"
PRETIX_DATABASE_NAME: "pretix"
PRETIX_DATABASE_USER: "pretix"
PRETIX_DATABASE_PASSWORD: "changeme"
PRETIX_REDIS_LOCATION: "redis://redis:6379/0"
PRETIX_CELERY_BROKER: "redis://redis:6379/1"
PRETIX_CELERY_BACKEND: "redis://redis:6379/2"
depends_on:
- db
- redis
db:
image: postgres:16
volumes:
- pg-data:/var/lib/postgresql/data
environment:
POSTGRES_DB: pretix
POSTGRES_USER: pretix
POSTGRES_PASSWORD: changeme
redis:
image: redis:7-alpine
volumes:
- redis-data:/data
volumes:
pretix-data:
pg-data:
redis-data:
Start the stack and create an admin user:
docker compose up -d
docker compose exec pretix pretix createsuperuser --email [email protected]
How Much Does Pretix Cost to Self-Host?
Pretix is free and open source under the AGPL v3 license. The hosted version at pretix.eu charges 2.5% per paid ticket (capped at EUR 15) with no monthly fees. Self-hosting eliminates all per-ticket fees — you pay only for infrastructure. Railway costs depend on your plan and resource usage, typically $5–20/month for a small Pretix deployment. An Enterprise license (from EUR 499/year) unlocks proprietary plugins but is not required.
Pretix vs Eventbrite for Self-Hosted Ticketing
| Feature | Pretix | Eventbrite |
|---|---|---|
| Open Source | Yes (AGPL v3) | No |
| Self-Hostable | Yes | No |
| Per-Ticket Fees (self-hosted) | None | N/A |
| Per-Ticket Fees (hosted) | 2.5% capped at EUR 15 | 3.7% + $1.79 per ticket |
| Seating Plans | Built-in editor | Add-on / limited |
| Payment Gateways | 30+ via plugins | Eventbrite Payments |
| Data Ownership | Full | Platform-controlled |
| Multi-Language | Built-in | Limited |
| White-Label | Yes | Paid tier only |
Pretix gives you complete data ownership and zero per-ticket fees when self-hosted, making it the stronger choice for organizations that run frequent events or need GDPR-compliant data handling.
FAQ
What is Pretix and why should you self-host it? Pretix is an open-source event ticketing platform for selling tickets, managing check-ins, and handling payments. Self-hosting eliminates per-ticket fees, gives you full data ownership, and lets you customize the platform with plugins.
What does this Railway template deploy for Pretix? The template deploys three services: the Pretix standalone container (bundling nginx, gunicorn, Celery, and cron), a PostgreSQL database for persistent data, and Redis for caching, sessions, and background task processing.
Why does Pretix on Railway need both PostgreSQL and Redis? PostgreSQL stores all persistent data — events, orders, users, invoices. Redis serves three roles: caching and session storage (DB 0), Celery message broker for async tasks like sending emails and generating PDFs (DB 1), and Celery result backend (DB 2).
How do I add payment gateways to self-hosted Pretix on Railway?
Log into the admin panel at /control/, navigate to your organizer settings, and enable payment plugins under the Plugins tab. Stripe and PayPal are included by default — configure them with your API keys under each event's payment settings.
Can I use Pretix for reserved seating events on Railway? Yes. Pretix includes a built-in graphical seating plan editor. Create a seating plan under your organizer's settings, then assign it to an event. Attendees select their specific seat during checkout.
How do I scale Pretix for high-traffic ticket sales on Railway?
Increase NUM_WORKERS for more gunicorn processes (each uses ~158 MB RAM), and scale the container memory from Railway's dashboard. For large on-sales, Railway lets you temporarily boost resources and scale back after the rush.
Does self-hosted Pretix support embeddable ticket widgets? Yes. Pretix provides a JavaScript widget you can embed on any website. Configure it in your event settings and paste the snippet into your site's HTML to sell tickets directly without redirecting visitors.
Template Content
Pretix
pretix/standalone:stablePRETIX_ADMIN_EMAIL
Initial admin account email
PRETIX_ADMIN_PASSWORD
Initial admin password (bootstrap-only)
Redis
redis:8.2.1