Skip to main content

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.example exists, 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 .env file publicly and do not commit it to Git. Make sure .env is 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