Railway

Deploy Pretix | Open Source Ticket Management, Eventbrite Alternative

Self Host Pretix. Ticketing platform with seating plans, payments, check-in

Deploy Pretix | Open Source Ticket Management, Eventbrite Alternative

Just deployed

/data

/var/lib/postgresql/data

Just deployed

/data

Pretix logo

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.

Pretix Railway architecture

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.

Pretix dashboard screenshot

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:

  • Pretixpretix/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

VariableDescription
PRETIX_PRETIX_URLPublic URL with https:// prefix
PRETIX_DJANGO_SECRETDjango secret key for session signing and CSRF
PRETIX_DATABASE_HOSTPostgreSQL host (Railway private domain)
PRETIX_REDIS_LOCATIONRedis connection URL for caching and sessions
PRETIX_CELERY_BROKERRedis URL for Celery task queue
PRETIX_ADMIN_EMAILInitial admin account email
PRETIX_ADMIN_PASSWORDInitial admin account password (bootstrap-only)
NUM_WORKERSGunicorn worker count (default: 2x CPU)

Deployment Dependencies

Hardware Requirements for Self-Hosting Pretix

ResourceMinimumRecommended
CPU1 vCPU2 vCPUs
RAM1 GB2–4 GB
Storage1 GB5 GB+ (scales with media uploads)
RuntimeDockerDocker 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

FeaturePretixEventbrite
Open SourceYes (AGPL v3)No
Self-HostableYesNo
Per-Ticket Fees (self-hosted)NoneN/A
Per-Ticket Fees (hosted)2.5% capped at EUR 153.7% + $1.79 per ticket
Seating PlansBuilt-in editorAdd-on / limited
Payment Gateways30+ via pluginsEventbrite Payments
Data OwnershipFullPlatform-controlled
Multi-LanguageBuilt-inLimited
White-LabelYesPaid 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

More templates in this category

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
View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

Shahed Nasser