Kernel
Always on
Immer aktiv
- Platform
- Identity
- Event
- Compliance
- Messaging
Open source · AGPL-3.0Open Source · AGPL-3.0 Early developmentIn Entwicklung
Konventix is a self-hostable event management platform: registration, admission, commerce, staffing, resources, content and competitions in one modular system. For LAN parties, conventions, festivals and everything else that needs a door, a ticket and a schedule.
Konventix ist eine Self-Hosted-Plattform für Eventmanagement: Registrierung, Einlass, Ticketshop, Helferplanung, Ressourcen, Content und Turniere in einem modularen System. Für LAN-Partys, Conventions, Festivals und alles andere, das eine Tür, ein Ticket und einen Zeitplan braucht.
BackgroundHintergrund
Konventix is not a startup idea. It is the next piece of software in more than twenty years with which a small IT association gets a few hundred people, their computers and their tickets through a LAN weekend. The event, Sund-Xplosion e. V. and our guests have changed at least as much along the way as the software that ran it.
Konventix ist keine Startup-Idee. Es ist die nächste Software in über zwanzig Jahren, mit der ein kleiner IT-Verein ein paar hundert Leute mit ihren Rechnern und Tickets durch ein LAN-Wochenende bringt. Die Veranstaltung, der Sund-Xplosion e. V. und auch unsere Gäste haben sich dabei mindestens genauso gewandelt wie die Software, die zum Einsatz kam.
The IT association on the campus of Hochschule Stralsund. It has organised LAN parties under sxlan.de since the early 2000s. In the association and around it there are more than 25 years of experience with events of every kind. Sund-Xplosion e. V. is where the idea of building Konventix took root.
Der IT-Verein am Campus der Hochschule Stralsund. Veranstaltet seit den frühen 2000ern LAN-Partys unter sxlan.de. Im Verein und seinem Umfeld stecken über 25 Jahre Erfahrung mit Veranstaltungen jeglicher Art. Der Sund-Xplosion e. V. ist die Keimzelle der Idee, Konventix zu bauen.
Like most LAN parties, it started with a home-made HTML page: a registration form, a seating table, a script for the tournament. Over the years it grew into a patchwork that only a few still understood. At some point it was clear that a real tool was needed: software that is more secure and more modern, brings more features and supports us before, during and after the event.
Angefangen hat es, wie bei den meisten LAN-Partys, mit einer selbst gebauten HTML-Seite: ein Anmeldeformular, eine Sitzplan-Tabelle, ein Script für das Turnier. Über die Jahre wurde daraus ein Flickwerk, das nur noch wenige durchschauten. Irgendwann war klar, dass ein richtiges Tool her muss: eine Software, die sicherer und moderner ist, mehr Funktionen mitbringt und uns vor, während und nach der Veranstaltung unterstützt.
The open-source tool sxlan.de ran on for years: tickets, seating plans, tournaments. It carried real events and showed its limits along the way: one event per installation, a data model in which a ticket is a participant, and a codebase in which any change beyond a patch was hard. Still, we are proud of that time. We always had a good time with the maintainers of Lan2Play/eventula-manager, and we thank them for their support, their patience and the steady, lively exchange.
Das Open-Source-Tool, mit dem sxlan.de jahrelang lief: Tickets, Sitzplan, Turniere. Es hat echte Events getragen und dabei seine Grenzen gezeigt: ein Event pro Installation, ein Datenmodell, in dem ein Ticket gleich ein Teilnehmer ist, und eine Codebase, in der jede Änderung über einen Patch hinaus schwerfiel. Trotzdem sind wir stolz auf diese Zeit. Mit den Maintainern von Lan2Play/eventula-manager hatten wir immer eine gute Zeit, und wir danken ihnen für die Unterstützung, die Geduld und den stetigen, regen Austausch.
A complete rebuild on Laravel and Vue, with companion apps (LanBrackets, LanShout, LanHelp). LanCore showed that the stack, the workflow and the features work. It was also the first attempt at agentic coding, documented to MIL-STD-498. The proof of concept showed that this brings structure but slows down the rapid development a project like this needs. A code audit in August 2026 (940 PHP files, 398 Vue components, 29 domains) showed the rest: domain boundaries on paper only, a user model as a god object, event scoping done by hand in almost two hundred places. Many insights, but no foundation for the next ten years.
Ein kompletter Neubau auf Laravel und Vue, mit Begleit-Apps (LanBrackets, LanShout, LanHelp). LanCore hat gezeigt, dass Stack, Workflow und Features funktionieren. Es war außerdem der erste Versuch mit Agentic Coding, dokumentiert nach MIL-STD-498. Der Proof of Concept hat gezeigt, dass das Struktur bringt, aber die schnelle Entwicklung ausbremst, die so ein Projekt braucht. Ein Code-Audit im August 2026 (940 PHP-Dateien, 398 Vue-Komponenten, 29 Domains) zeigte den Rest: Domain-Grenzen nur auf dem Papier, ein User-Model als God Object, Event-Scoping an fast zweihundert Stellen von Hand. Viele Erkenntnisse, aber kein Fundament für die nächsten zehn Jahre.
Event-agnostic instead of LAN-only. Brand-scoped instead of one event per install. A modular monolith in which every finding from the LanCore audit became a rule the build enforces. Plus the best features and business logic we took with us from the European LAN party scene. Open source under the AGPL. The first operator is Sund-Xplosion e. V., the first test run the SX31.
Event-agnostisch statt nur LAN. Brand-Scoping statt ein Event pro Installation. Ein modularer Monolith, in dem jeder Befund aus dem LanCore-Audit zu einer Regel wurde, die der Build erzwingt. Dazu die besten Features und Businesslogiken, die wir aus der europäischen LAN-Party-Szene mitgenommen haben. Open Source unter der AGPL. Erster Operator ist der Sund-Xplosion e. V., der erste Testlauf die SX31.
How it worksFunktion
The legal entity running an instance is the operator. It owns any number of brands, each with its own domains, theme, content and set of active modules. Every brand runs its events. Brands are resolved from the request host, so one installation can front a LAN party, a convention and a club night without them ever seeing each other.
Die juristische Person, die eine Instanz betreibt, ist der Operator. Ihm gehören beliebig viele Brands, jede mit eigenen Domains, eigenem Theme, eigenem Content und eigenem Set aktiver Module. Jede Brand veranstaltet ihre Events. Brands werden über den Hostnamen des Requests aufgelöst. Eine Installation kann so eine LAN-Party, eine Convention und einen Clubabend bedienen, sauber getrennt voneinander.
Always on
Immer aktiv
Every brand needs them
Braucht jede Brand
Switched on per brand
Pro Brand zuschaltbar
Why not pretix or Eventbrite? Because selling a ticket is the easy part. Konventix also plans volunteer shifts, manages resources beyond seats (tables, power, network ports, rooms), keeps participant communities across events and runs tournament systems. Those are the parts an association actually spends its weekends on.
Warum nicht pretix oder Eventbrite? Ticketverkauf ist der einfache Teil. Konventix plant außerdem Helferschichten, verwaltet Ressourcen jenseits von Sitzplätzen (Tische, Strom, Netzwerkports, Räume), führt Teilnehmer-Communities über Events hinweg und betreibt Turniersysteme. Das ist der Teil, der bei einem Verein die meiste Arbeit macht.
ArchitectureArchitektur
One Laravel 13 application, one deployment unit, and a set of module boundaries the test suite refuses to let anyone cross. The rough shape:
Eine Laravel-13-Anwendung, ein Deployment und Modulgrenzen, die die Testsuite durchsetzt. Grob skizziert:
Every module is a Composer path package with its own service provider, routes, migrations, policies and pages. Modules may depend on the platform kernel and on nothing else. A cross-module model import fails the build.
Jedes Modul ist ein Composer-Path-Package mit eigenem Service Provider, eigenen Routen, Migrationen, Policies und Pages. Module dürfen vom Platform-Kernel abhängen und von sonst nichts. Ein Model-Import über Modulgrenzen hinweg lässt den Build fehlschlagen.
Brand-owned models carry a global scope. Sessions are per brand, queued jobs carry the brand with them, and a hand-written brand filter is forbidden. The 190 manual scopes of the predecessor became zero.
Brand-eigene Models tragen einen Global Scope. Sessions sind pro Brand, Queue-Jobs nehmen die Brand mit, handgeschriebene Brand-Filter sind verboten. Der Vorgänger hatte 190 davon; hier gibt es keinen.
Inertia 3 and Vue 3 on the front, laravel-data objects on the back. Validation rules, page props and TypeScript types come from one definition. Hand-written payload types do not exist.
Inertia 3 und Vue 3 im Frontend, laravel-data-Objekte im Backend. Validierungsregeln, Page-Props und TypeScript-Typen kommen aus einer einzigen Definition. Handgeschriebene Payload-Typen gibt es nicht.
A registration is a request. A confirmed registration issues admissions. Commerce owns order and invoice state; payment providers are adapters, connected per operator. Invoices follow GoBD and ZUGFeRD, VAT handling is German first.
Eine Registration ist zunächst nur eine Anfrage. Erst die bestätigte Registration erzeugt Admissions. Commerce hält den Status von Orders und Rechnungen; Payment-Provider sind Adapter, pro Operator angebunden. Rechnungen folgen GoBD und ZUGFeRD, die Umsatzsteuer ist zunächst für Deutschland umgesetzt.
Tailwind 4 with design tokens only. A brand re-colours the whole application by overriding a handful of custom properties at runtime; palette classes are linted out of the codebase.
Tailwind 4, nur über Design-Tokens. Eine Brand färbt die ganze Anwendung um, indem sie zur Laufzeit einige Custom Properties überschreibt. Palette-Klassen blockiert der Linter.
Web on FrankenPHP and Octane, Horizon queues, scheduler, Pulse, Reverb websockets and the migrate/install hooks all run the same immutable image, selected by command. Realtime is built in; entrance scanning keeps working offline.
Web auf FrankenPHP und Octane, Horizon-Queues, Scheduler, Pulse, Reverb-Websockets und die Migrate/Install-Hooks laufen alle aus demselben Image; das Kommando bestimmt die Rolle. Realtime ist eingebaut, das Scannen am Einlass funktioniert auch offline.
Deployment and operationsDeployment und Betrieb
Konventix ships as one container image and a Helm chart. Today it runs on an RKE2-based Kubernetes platform operated by the association, for development and staging; production will run there as well. Nothing that carries participant data leaves infrastructure the operator controls.
Konventix besteht aus einem Container-Image und einem Helm-Chart. Aktuell läuft es auf einer RKE2-basierten Kubernetes-Plattform des Vereins für Development und Staging; Produktion wird dort ebenfalls laufen. Teilnehmerdaten bleiben auf Infrastruktur, die der Operator selbst kontrolliert.
This page follows the same operations and deployment model, at a much smaller scale: hand-written HTML on an nginx without root privileges, linted, scanned and audited in the same pipeline, and rolled out to the same platform with a fixed version number.
Diese Seite wird nach demselben Betriebs- und Deployment-Modell umgesetzt, mit deutlich geringerem Umfang: handgeschriebenes HTML auf einem nginx ohne Root-Rechte, in derselben Pipeline gelintet, gescannt und auditiert und mit fester Versionsnummer auf dieselbe Plattform ausgerollt.
Open Source
Konventix is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). The source code is public, and development happens in the open as well.
Konventix steht unter der GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). Der Quellcode ist öffentlich, und auch die Weiterentwicklung findet offen statt.
The project is still at an early stage. Breaking changes are possible, some modules are incomplete, and the documentation may lag behind the current state of the code. Issues, questions and contributions are expressly welcome.
Konventix is not yet intended for production use.
Das Projekt befindet sich noch in einer frühen Phase. Breaking Changes sind möglich, einzelne Module noch unvollständig und die Dokumentation kann dem aktuellen Stand des Codes hinterherhinken. Issues, Fragen und Beiträge sind ausdrücklich willkommen.
Für den produktiven Einsatz ist Konventix derzeit noch nicht vorgesehen.
FAQ
Yes. Konventix is open source under the GNU AGPL-3.0-or-later; you can self-host it without a licence fee. A hosted offering may follow one day; the code stays open either way.
Ja. Konventix ist Open Source unter der GNU AGPL-3.0-or-later und kann ohne Lizenzgebühr selbst gehostet werden. Ein gehostetes Angebot kann später dazukommen; der Code bleibt offen.
Selling a ticket is only part of it. Konventix also plans volunteer shifts, manages resources beyond seats (tables, power, network ports, rooms), keeps participant communities across events and runs tournament systems. One operator runs several brands with their own domains and themes on one installation.
Ticketverkauf ist nur ein Teil. Konventix plant auch Helferschichten, verwaltet Ressourcen wie Tische, Strom, Netzwerkports und Räume, führt Teilnehmer-Communities über Events hinweg und betreibt Turniersysteme. Ein Operator kann auf einer Installation mehrere Brands mit eigenen Domains und Themes betreiben.
Not yet. Konventix is in a rapid development phase: breaking changes, unfinished modules, documentation that lags behind the code. Watch the repository, or write to hello@konventix.de if you run events and want to talk.
Noch nicht. Konventix ist in schneller Entwicklung: Breaking Changes, unfertige Module, Dokumentation, die hinterherhinkt. Beobachte das Repository, oder schreib an hello@konventix.de, wenn du Events veranstaltest und Interesse hast.
One container image and a Helm chart for Kubernetes, or Docker. Around it: PostgreSQL, a Redis-compatible store, S3-compatible object storage and an SMTP relay. TLS is terminated by the reverse proxy or ingress in front.
Ein Container-Image und ein Helm-Chart für Kubernetes, alternativ Docker. Dazu PostgreSQL, ein Redis-kompatibler Store, S3-kompatibler Object Storage und ein SMTP-Relay. TLS terminiert der Reverse Proxy oder Ingress davor.
Markus Kohn, with Sund-Xplosion e. V., a registered association from Stralsund that has organised LAN parties since the early 2000s. Konventix succeeds eventula-manager and the LanCore proof of concept.
Markus Kohn zusammen mit Sund-Xplosion e. V., einem Verein aus Stralsund, der seit den frühen 2000ern LAN-Partys veranstaltet. Konventix ist der Nachfolger von eventula-manager und des Proof of Concept LanCore.
Angaben gemäß § 5 DDG
Markus KohnE-Mail: hello@konventix.de
Verantwortlich im Sinne des § 18 Abs. 2 MStV: Markus Kohn, Anschrift wie oben.
Legal notice as required by German law (§ 5 DDG). Responsible for the content: Markus Kohn, address as above.
This page sets no cookies. Your language choice is kept in your browser's local storage and never sent anywhere.
Diese Seite setzt keine Cookies. Die Sprachwahl liegt im Local Storage des Browsers und wird nicht übertragen.
Reach is measured with a self-hosted Plausible Analytics instance operated by Sund-Xplosion e. V. in Germany. It uses no cookies, does not track you across sites, and does not store personal data; IP addresses are hashed with a daily salt and discarded. The script and its beacon are served from konventix.de and relayed to that instance.
Die Reichweite misst eine selbst gehostete Plausible-Analytics-Instanz von Sund-Xplosion e. V. in Deutschland. Sie setzt keine Cookies, verfolgt niemanden über Websites hinweg und speichert keine personenbezogenen Daten; IP-Adressen werden mit einem täglich wechselnden Salt gehasht und nicht gespeichert. Script und Beacon laufen über konventix.de und werden an diese Instanz weitergereicht.
The web server is hosted on the association's own infrastructure in Germany and keeps short-lived access logs for operational purposes only. Questions: hello@konventix.de.
Der Webserver läuft auf Infrastruktur des Vereins in Deutschland. Access-Logs werden nur für den Betrieb geführt und kurz aufbewahrt. Fragen: hello@konventix.de.
This page is built to WCAG 2.1 level AA: one document in both languages, semantic landmarks and headings, keyboard operation with visible focus, sufficient contrast in light and dark, no motion for visitors who ask for less, and text that scales. The background animation is decorative, hidden from assistive technology and switched off with the reduced-motion setting.
Diese Seite folgt WCAG 2.1, Stufe AA: ein Dokument in beiden Sprachen, semantische Landmarks und Überschriften, Bedienung per Tastatur mit sichtbarem Fokus, ausreichender Kontrast im hellen und im dunklen Design, keine Animation bei aktivierter Einstellung für reduzierte Bewegung, skalierbarer Text. Die Hintergrundanimation ist rein dekorativ und für Screenreader unsichtbar.
If something is in your way, write to hello@konventix.de; barriers are bugs and get fixed.
Wenn etwas im Weg steht, schreib an hello@konventix.de. Barrieren werden wie Bugs behandelt.