Self-Hosting CHASE
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
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:
| Component | Description |
|---|---|
| Frontend | SvelteKit application serving the user interface |
| Backend | GraphQL API handling business logic |
| Database | PostgreSQL for persistent storage |
| Auth | External OIDC provider (not included) |
Recommended OIDC Providers
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
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
- Developer Setup - For contributing to CHASE
- User Manual - Learn how to use CHASE