Skip to main content

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

  1. 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
  1. 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
  1. 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.