Get Started
Let's get the project up and running quickly and easily.
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 – for cloning the repository
- Docker & Docker Compose – for starting the application
- Install Docker
- Docker Compose is already included in Docker Desktop
Step 1: Clone the Repository
Clone the project from GitHub to your local machine:
git clone https://github.com/rene-herrmann/uni-verein.git
Then navigate into the project directory:
cd uni-verein
Step 2: Install Docker
If Docker is not yet installed, download and install it from the official website:
👉 https://docs.docker.com/get-docker/
After installation, verify that Docker is working correctly:
docker --version
docker compose version
Step 3: Create the .env File
The application requires a .env file containing environment variables.
Create the file in the root directory of the project (uni-verein/.env):
cp .env.example .env
If no
.env.exampleexists, create the file manually:
touch .env
Open the file and fill in the necessary values:
nano .env
Step 4: Generate Security Keys
JWT_KEY requires a secret key (secret key in HEX format). You can generate one as follows:
- Using OpenSSL (recommended)
openssl rand -hex 32
HMAC_KEY and CRYPTO_KEY each require a secret key (secret key in Base64 format). You can generate them as follows:
- Using C# (recommended):
var key = new byte[32];
RandomNumberGenerator.Fill(key);
Console.WriteLine(Convert.ToBase64String(key));
Insert the generated keys into your .env file, for example:
JWT_KEY=your-generated-key
JWT_ISSUER=uni-verein
HMAC_KEY=another-generated-key
CRYPTO_KEY=another-generated-key
⚠️ Important: Never share your
.envfile publicly and do not commit it to Git. Make sure.envis listed in your.gitignore.
Step 5: Start the Project
Start the application using Docker Compose:
docker compose -f docker-compose.yml up --build -d
The application will then be available at http://localhost:80.
To check the running containers:
docker compose ps
To view the logs:
docker compose logs -f