Get Started
Prerequisites
Before you begin, make sure your system meets the following requirements.
System Requirements
- RAM: At least 2 GB
- CPU: At least 2 cores
Required Software
- Git – to clone the repository
- Docker & Docker Compose – to run the application
- Install Docker
- Docker Compose is already included with Docker Desktop
Step 1: Install Docker
If Docker is not yet installed, download it from the official website and install it:
👉 https://docs.docker.com/get-docker/
After installation, verify that Docker is working correctly:
docker --version
docker compose version
Step 2: Install and Run the Project
- Download the configuration and installation files
curl -O https://raw.githubusercontent.com/uni-verein/uni-verein/refs/tags/1.0.0/nginx.conf
curl -O https://raw.githubusercontent.com/uni-verein/uni-verein/refs/tags/1.0.0/docker-compose-ini.yml
curl -O https://raw.githubusercontent.com/uni-verein/uni-verein/refs/tags/1.0.0/docker-compose-prod-image.yml
- Generate the environment variables in the .env file
touch .env && mkdir backup && docker compose -f docker-compose-ini.yml up
Edit the .env file and change the database passwords:
DB_ROOT_PASSWORD=rootUserPassword
DB_NAME=uni-verein
DB_USER=databaseUserName
DB_PASSWORD=databaseUserPassword
- Start the application
docker compose -f docker-compose-prod-image.yml up -d
The application will then be accessible at http://localhost:80. 🎉
To check the running containers:
docker compose ps
To view the logs:
docker compose logs -f
Updating
As an admin, you'll see a notification bell in the app once a new version is available. Before updating, create a manual backup (database backup and member export, both available under Settings → Backup in the app). Then run this from your installation directory (the one containing .env):
curl -O https://raw.githubusercontent.com/uni-verein/uni-verein/main/docker-compose-update.yml
docker compose -f docker-compose-update.yml run --rm update
It checks GitHub for the latest release and asks you to confirm that you've created a manual backup — the update only proceeds once you type yes. It then downloads the matching nginx.conf and docker-compose-prod-image.yml, updates VERSION in your .env, and restarts the stack on the new version. Your existing secrets and database are left untouched.