Zum Hauptinhalt springen

Self-Hosting DELEGATOR

AI-Generated Content

This documentation page was initially generated by AI to bootstrap the documentation structure. Content may be incomplete or contain inaccuracies. We welcome contributions to improve it.

DELEGATOR is designed to be self-hosted, giving you full control over participant data and your registration infrastructure. This guide walks you through deploying DELEGATOR for your organization.

Prerequisites

Before you begin, ensure you have:

  • Server/VPS with at least 2GB RAM and 2 CPU cores
  • Docker and Docker Compose installed
  • Domain name pointed to your server
  • SMTP Server for sending emails (registration confirmations, etc.)
  • Basic familiarity with command line and Docker

Quick Start with Docker

1. Clone the Repository

git clone https://github.com/DeutscheModelUnitedNations/munify-delegator.git
cd munify-delegator

2. Configure Environment

Copy the example environment file and configure it:

cp .env.example .env

Edit .env with your settings:

# Database
DATABASE_URL=postgresql://delegator:your-secure-password@db:5432/delegator

# Email Configuration
SMTP_HOST=smtp.your-provider.com
SMTP_PORT=587
SMTP_USER=your-smtp-user
SMTP_PASS=your-smtp-password
SMTP_FROM=registration@your-conference.com

# Application
PUBLIC_BASE_URL=https://registration.your-domain.com

3. Start the Services

docker compose up -d

4. Initialize the Database

docker compose exec app bun run db:push

Architecture Overview

DELEGATOR consists of:

ComponentDescription
FrontendWeb application for participants and administrators
BackendAPI handling registration logic and workflows
DatabasePostgreSQL for persistent storage
EmailSMTP integration for notifications

Email Configuration

DELEGATOR sends emails for:

  • Registration confirmations
  • Application status updates
  • Payment reminders
  • General communications
  • Your organization's SMTP - If available
  • Mailgun - Transactional email service
  • SendGrid - Email delivery service
  • Amazon SES - Cost-effective for high volume

Integration with CHASE

If you're also running CHASE for session management, both applications can share:

  • The same OIDC authentication provider
  • Participant data (with proper configuration)

This creates a unified experience for your conference staff and participants.

Production Considerations

Reverse Proxy

We recommend running DELEGATOR behind a reverse proxy like nginx or Traefik for:

  • SSL/TLS termination (required for handling personal data)
  • Load balancing
  • Request buffering

Data Protection

Since DELEGATOR handles personal participant data:

  • Ensure your deployment complies with GDPR or relevant data protection laws
  • Set up proper access controls
  • Implement regular backups
  • Consider data retention policies

Backups

Set up regular PostgreSQL backups:

# Example daily backup script
docker compose exec db pg_dump -U delegator delegator > backup-$(date +%Y%m%d).sql

Monitoring

Consider setting up monitoring for:

  • Application health endpoints
  • Email delivery success rates
  • Database performance
  • Server resources

Conference Setup

After deployment, you'll need to:

  1. Create an admin account through the initial setup
  2. Configure your conference settings (dates, committees, etc.)
  3. Set up registration phases (early bird, regular, late)
  4. Configure email templates for your branding
  5. Set up the review workflow for your team

Getting Help

  • Check the GitHub Issues for known issues
  • Review the Admin Guide for configuration help
  • Contact the maintainers for production deployment questions
Tested in Production

DELEGATOR is actively used for MUN-SH and MUNBW conferences, handling hundreds of registrations. The team can share insights from real-world deployments.

Next Steps