MCPSERV.CLUB
pretalx

pretalx

Self-Hosted

End-to-end conference management from call for papers to schedule

Active(97)
844stars
0views
Updated 1 day ago

Overview

Discover what makes pretalx powerful

pretalx is a full‑stack, open‑source conference management platform that guides an event from call‑for‑papers to a published schedule. From a developer’s viewpoint it is essentially a *Python/Django* application exposed through a RESTful API, with a rich plugin ecosystem and an extensible data model that can be adapted to any event size or structure. The core workflow—submission, review, speaker communication, scheduling, and publication—is driven by configurable state machines that can be altered via the admin interface or through custom plugins.

Dynamic event configuration

Built‑in review system

Email orchestration

Schedule builder

Overview

pretalx is a full‑stack, open‑source conference management platform that guides an event from call‑for‑papers to a published schedule. From a developer’s viewpoint it is essentially a Python/Django application exposed through a RESTful API, with a rich plugin ecosystem and an extensible data model that can be adapted to any event size or structure. The core workflow—submission, review, speaker communication, scheduling, and publication—is driven by configurable state machines that can be altered via the admin interface or through custom plugins.

Key Features

  • Dynamic event configuration – Define tracks, rooms, time slots, and review workflows via the admin UI or JSON schema.
  • Built‑in review system – Supports anonymous, open, or hybrid reviews with configurable scoring and comment fields.
  • Email orchestration – Bulk templated mail, preview rendering, and per‑submission overrides.
  • Schedule builder – Automated conflict detection, speaker‑centric scheduling, and public schedule export in iCal or JSON.
  • Extensive API – CRUD endpoints for events, talks, reviews, and schedules; OAuth2 support for third‑party integrations.

Technical Stack

LayerTechnology
BackendPython 3.11, Django 5.x, Django REST Framework
ORM & DBPostgreSQL (default), optional SQLite for dev; supports MySQL/MariaDB via pg8000
FrontendReact 18 (single‑page admin), Django templates for public pages
Task QueueCelery with Redis broker (for email, scheduling tasks)
SearchElasticSearch or PostgreSQL full‑text search
ContainerizationOfficial Docker image, docker‑compose templates

The application follows a classic Django MVC pattern with well‑defined models.py, views.py, and serializers.py. Custom logic is encapsulated in signals and middleware, allowing developers to hook into lifecycle events (e.g., post_submission, pre_schedule) without modifying core code.

Architecture

pretalx is modular: the core package contains the data model, API endpoints, and admin UI; the plugins directory hosts third‑party extensions that register signals, templates, or REST endpoints. Each plugin declares its dependencies in a setup.py‑style file and can be installed via pip or Docker volumes. The plugin system is event‑driven; for example, a “Slack notification” plugin listens to submission_created and pushes a message to a configured channel.

The scheduling engine is a separate service that runs as a Celery task. It pulls the current event configuration, performs constraint satisfaction (room capacities, speaker availabilities), and writes a deterministic schedule back to the database. This separation allows scaling the scheduler independently or swapping it for a custom algorithm without touching the core.

Deployment & Infrastructure

pretalx is designed for self‑hosting on any Linux server. A single Docker Compose stack pulls the official image, mounts a volume for media files, and connects to PostgreSQL and Redis. For production, the recommended stack includes:

  • Nginx reverse proxy with SSL termination
  • Gunicorn workers (4–8 depending on traffic)
  • Celery beat for periodic tasks
  • PostgreSQL with WAL archiving for point‑in‑time recovery

Horizontal scaling is straightforward: duplicate the web workers behind a load balancer, and share the same PostgreSQL cluster. The scheduler can be run on a dedicated node to avoid blocking HTTP requests.

Integration & Extensibility

Developers can extend pretalx in several ways:

Extension PointHow to Use
REST APIConsume endpoints or expose new ones via views.py
WebhooksRegister event URLs in the admin to receive JSON payloads on submission or schedule changes
PluginsCreate a Python package that registers signals, templates, and static assets
Custom FieldsAdd fields to Talk or Submission models via migrations and expose them in forms
AuthenticationPlug OAuth2, SAML, or LDAP backends by extending django.contrib.auth.backends

The plugin ecosystem is vibrant: the community publishes packages for Slack, Teams, Google Calendar sync, and even custom review dashboards. Because plugins are isolated, they can be versioned independently of the core application.

Developer Experience

The documentation is thorough, with a dedicated Developer Guide that walks through API authentication, plugin creation, and deployment best practices. The codebase follows PEP‑8 conventions, and tests are written with pytest–django, making contributions straightforward. Community support is active on GitHub Discussions and a Slack channel where maintainers answer architecture questions promptly.

Use Cases

  • Academic Conferences – Rapidly spin up a multi‑track event with anonymous peer review and automated scheduling.
  • Corporate Hackathons – Customizable submission forms, real‑time Slack notifications, and an API for integration with internal tools.
  • Online Events – Use the public schedule API to power a custom front‑end, or embed pretalx’s widgets in a static site.
  • Developer Meetups – Lightweight deployment on a single server with minimal maintenance overhead.

Advantages

  • Open Source & Transparent – No licensing fees; full control over data and customizations.
  • Python/Django Familiarity – Developers can leverage existing Django expertise for rapid feature development.
  • Extensible Architecture – Plugin system and event hooks reduce the need for core code modifications.
  • Scalable & Production‑Ready – Built with Celery,

Open SourceReady to get started?

Join the community and start self-hosting pretalx today