Skip to main content

Self-Hosting CHASE

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.

CHASE is designed to be self-hosted, giving you full control over your conference data and infrastructure. This guide walks you through deploying CHASE 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
  • OIDC Provider (e.g., Zitadel, Logto, Keycloak) for authentication
  • Basic familiarity with command line and Docker
No Built-in Authentication

CHASE does not include built-in authentication. You must configure an OIDC-compliant identity provider. This is by design - it allows you to integrate CHASE with your existing authentication infrastructure.

Quick Start with Docker

1. Clone the Repository

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

2. Configure Environment

Copy the example environment file and configure it:

cp .env.example .env

Edit .env with your settings:

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

# OIDC Configuration
OIDC_ISSUER=https://your-auth-provider.com
OIDC_CLIENT_ID=your-client-id
OIDC_CLIENT_SECRET=your-client-secret

# Application
PUBLIC_BASE_URL=https://chase.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

CHASE consists of:

ComponentDescription
FrontendSvelteKit application serving the user interface
BackendGraphQL API handling business logic
DatabasePostgreSQL for persistent storage
AuthExternal OIDC provider (not included)

CHASE works with any OIDC-compliant provider:

  • Zitadel - Open source, can be self-hosted
  • Logto - Open source, developer-friendly
  • Keycloak - Enterprise-grade, self-hosted
  • Auth0 - Managed service with free tier

Integration with DELEGATOR

If you're also running DELEGATOR, you can configure both applications to use the same OIDC provider, enabling single sign-on across your entire MUNify stack.

Production Considerations

Reverse Proxy

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

  • SSL/TLS termination
  • Load balancing
  • Request buffering

Backups

Set up regular PostgreSQL backups:

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

Monitoring

Consider setting up monitoring for:

  • Application health endpoints
  • Database performance
  • Server resources

Getting Help

  • Check the GitHub Issues for known issues
  • Join the community discussions
  • Contact the maintainers before deploying for production use
Reach Out First

The CHASE team recommends contacting them before deploying for actual conference use, as the software has been tested primarily on DMUN events. They can provide guidance specific to your use case.

Next Steps