Self-hosting
You’re the kind of person who reads the source code before trusting a tool
Good. So did we. Here’s exactly what Unitae is, what it does with your congregation’s data, and how to run it yourself in three commands.
So here’s what you get when you run it yourself
Complete control
Your server, your rules. You decide where the data lives, who has access, and when updates happen. No third party between you and your congregation’s data.
Full data sovereignty
The database runs on your infrastructure. Nothing leaves your server unless you configure it to. No telemetry, no phone-home, no analytics.
No subscription, no dependency
Self-hosting is free, forever. The AGPL-3.0 license guarantees you can always run the software, regardless of what happens to MindsersIT.
Same features as managed
The code is identical. No locked features, no artificial limits. Unlimited publishers, territories, and storage — because it’s your server.
What you’ll need
Self-hosting is straightforward if you’re comfortable with a terminal. Here’s what’s required:
- A Linux or macOS server (VPS, dedicated, or local network)
- Docker and Docker Compose installed
- At least 1 GB of RAM (2 GB recommended)
- A domain name if you want HTTPS (not required for local use)
- Basic terminal comfort — you’ll run a handful of commands
Get started in 3 commands
Clone the repository, copy the example environment file, and start the stack:
# Clone the repository
git clone https://github.com/Unitae/unitae.git && cd unitae
# Copy and edit the environment file
cp .env.example .env
# Start Unitae
docker compose up -d
✓ Unitae is running on localhost:8080
The honest trade-offs
Self-hosting gives you full control. That also means full responsibility. Here’s the honest list:
Backups
Managed hosting runs daily backups with tested recovery. Self-hosted means you set up your own backup strategy.
TLS certificate
Managed hosting provisions and renews TLS automatically. On your own server, you’ll need a reverse proxy (Caddy, nginx) and handle certificate renewal.
Updates
Managed hosting updates automatically. Self-hosted means you pull the latest image and restart the stack when a new version drops.
Support
Managed subscribers get priority email support. Self-hosters have GitHub Issues and the community.
One file controls everything
The .env file controls everything. Key variables to configure:
- DATABASE_URL — PostgreSQL connection string (pre-configured in the Compose file)
- REDIS_URL — Redis connection string (pre-configured in the Compose file)
- SESSION_SECRET — a long random string for session signing
- APP_URL — the public URL of your instance
- SMTP_* — email settings for password resets and notifications
Not ready to self-host?
You’ve read the code. You know exactly what Unitae does. If you’d rather skip the server setup and get straight to the congregation work, managed hosting is €9/month — live in 30 seconds, backups handled, TLS handled. And every subscription funds the open-source development that benefits self-hosters too.
No credit card required. Cancel anytime, export all your data.