Overview
Discover what makes Alf.io powerful
Alf.io is a self‑hosted, open‑source ticket reservation and event attendance platform written in **Java 17**. It is built on the Spring Boot ecosystem, leveraging Gradle for build automation and PostgreSQL 10+ as its primary data store. The application is modular, exposing a rich REST API for ticket sales, event management, and reporting, while also providing an optional web‑based backoffice UI and a mobile check‑in client. Its architecture is designed around micro‑service friendly patterns—stateless HTTP endpoints, database session persistence via a dedicated `jdbc-session` profile, and pluggable extensions for payment providers (Stripe, Mollie, PayPal, etc.) and external systems such as CRMs.
Event lifecycle management
Secure payment integration
Extensible extension framework
Offline check‑in
Overview
Alf.io is a self‑hosted, open‑source ticket reservation and event attendance platform written in Java 17. It is built on the Spring Boot ecosystem, leveraging Gradle for build automation and PostgreSQL 10+ as its primary data store. The application is modular, exposing a rich REST API for ticket sales, event management, and reporting, while also providing an optional web‑based backoffice UI and a mobile check‑in client. Its architecture is designed around micro‑service friendly patterns—stateless HTTP endpoints, database session persistence via a dedicated jdbc-session profile, and pluggable extensions for payment providers (Stripe, Mollie, PayPal, etc.) and external systems such as CRMs.
Key Features
- Event lifecycle management – Create events, define ticket types, set pricing rules, and enforce seat allocation.
- Secure payment integration – Built‑in adapters for major processors; all sensitive data is handled via encrypted channels and row‑level security in PostgreSQL.
- Extensible extension framework – Developers can add custom logic through Spring Boot starters, or integrate with third‑party services using webhooks and the public API.
- Offline check‑in – The Alf.io‑PI component runs on Raspberry Pi, clustering with the central instance to download an encrypted attendee list and perform high‑throughput badge printing.
- Multi‑tenant support – Each event is isolated via database schemas and row‑level security, enabling a single deployment to serve many organizers.
Technical Stack
| Layer | Technology |
|---|---|
| Backend | Java 17, Spring Boot 3.x, Spring MVC/REST, Spring Data JPA |
| Build | Gradle Wrapper (gradlew) with Kotlin DSL |
| Database | PostgreSQL 10+, leveraging RLS (Row‑Level Security) for data isolation |
| Messaging / Jobs | Spring Scheduler, optional disable-jobs profile for stateless deployments |
| Containerization | Official Docker image (alfio/alf.io) available on Docker Hub; supports docker-compose and Kubernetes manifests |
| Testing | JUnit 5, Spring TestContext, integration tests run against an embedded PostgreSQL |
Core Capabilities for Developers
- REST API – CRUD operations for events, tickets, orders; authentication via JWT or session cookies. Endpoints are documented in OpenAPI format and can be consumed by custom front‑ends or third‑party services.
- Webhooks – Subscribe to order status changes, payment events, and check‑in completions; payloads are signed for integrity.
- Extension Points – Implement custom
PaymentProviderorEventValidatorbeans; register them via Spring’s component scanning. - CLI Tools – The
alfio-climodule offers command‑line utilities for bulk imports, data migration, and health checks. - Row‑Level Security – Developers can define fine‑grained access policies directly in SQL; the application automatically enforces them via
SET ROLEstatements.
Deployment & Infrastructure
- Self‑hosting – Requires a JDK 17 runtime and PostgreSQL; no external services are mandatory.
- Scalability – Stateless HTTP layer allows horizontal scaling behind a load balancer; database can be read‑replicated for high traffic scenarios.
- Container Support – Docker image exposes
JAVA_OPTSandSPRING_PROFILES_ACTIVE; Kubernetes Helm charts are available in the community repository. - High Availability – The
jdbc-sessionprofile persists user sessions, enabling seamless failover; the PI component clusters automatically on first boot.
Integration & Extensibility
- Payment Gateways – Out‑of‑the‑box adapters for Stripe, Mollie, PayPal, Revolut; each implements a common
PaymentServiceinterface. - CRM / ERP Hooks – Use webhooks to push attendee data into external systems; alternatively, consume the API from a custom connector.
- Custom UI – The front‑end is built with Thymeleaf; developers can override templates or replace the entire UI with a SPA that consumes the API.
- SDKs – While not bundled, community libraries exist for Node.js, Python, and Go to interact with the REST API.
Developer Experience
- Configuration – All settings are externalized via
application.yml; environment variables can override properties, making CI/CD pipelines straightforward. - Documentation – The GitHub repo contains a comprehensive README, API reference, and contribution guidelines; the CI pipeline publishes coverage and security metrics.
- Community – Active issue tracker, open pull requests, and a dedicated Discord channel provide quick support; contributors are recognized via Open Collective sponsorship.
- Licensing – GPLv3 ensures freedom to modify and redistribute, with a clear dual‑licensing path for commercial use.
Use Cases
| Scenario | Why Alf.io? |
|---|---|
| Non‑profit event organizer | Zero cost, full control over data, no vendor lock‑in. |
| Startup conference | Rapid deployment via Docker, custom payment flows, and badge printing on‑site. |
| Corporate training | Multi‑tenant support allows a single instance to host multiple internal events with strict RLS. |
| Community meetup | Lightweight, self‑hosted solution that respects privacy and can run on a Raspberry Pi for offline check‑in. |
Advantages Over Alternatives
- Performance – Spring Boot’s embedded server and JPA with PostgreSQL RLS provide low latency for ticket purchases.
- Flexibility – Complete source code
Open SourceReady to get started?
Join the community and start self-hosting Alf.io today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
ILIAS
Open Source LMS for schools, universities and enterprises
Kimai
Open‑source time tracker for teams and freelancers
Kamailio
High‑performance SIP server for VoIP and real‑time communication
Hyrax
Digital repository framework built on Ruby on Rails

GarageHQ
Distributed object storage for self-hosted resilience
Mindustry
Strategic tower‑defense with automated resource processing