Newer
Older
OpenSource Server für Tipprunden in dem Fachbereich 3 - Mathematik und Informatik, an der Universität Bremen.
Geschrieben mit NextJs.
Bei Fragen gerne im Stugaraum vorbeigucken, oder uns auf StudIP anblubbern (Mail ist auch ok).
Die Nutzernamen sind auf dem Gitlab zu finden.
Entwicklungsumgebung:
1. Auf Gitlab eine Application anlegen.
- Scopes: openid, profile, email
- Redirect URI (`http://localhost:3000/api/auth/callback/gitlab`)
2. In das fb3-tipprunde directory wechseln
3. `.env` Datei erstellen, siehe dafür `.env.example`
4. Bei Gitlab in das container registry einloggen.
```sh
docker login gitlab.informatik.uni-bremen.de:5005
```
Falls man 2FA hat, muss man sich vorher ein application token anlegen und diesen dann als passwort benutzen.
5. `docker compose -f compose.dev.yml up -d` startet den dev container
6. `npm run seed` besamt die Datenbank
7. `npm run dev` startet die Website auf http://localhost:3000 -->
Zum selber deployen:
1. Auf Gitlab eine Application anlegen.
- Redirect URI (`https://{url}/api/auth/callback/gitlab`)
2. `.env` Datei erstellen, siehe dafür `.env.example`
3. In das fb3-tipprunde directory wechseln
4. `docker build --tag 'akf-runde' .`
5. `docker build -t akf-scripts ./scripts` den script container bauen
6. `docker compose up -d`
7. Tippspiel sollte auf Port `3000` laufen, Logs lassen sich mit `docker logs akf-runde` abfragen
### Container registry:
Login mit dem command:
```sh
docker login gitlab.informatik.uni-bremen.de:5005
```
Wenn man 2 Faktor Auth bei gitlab benutzt muss man vorher einen Application token anlegen und diesen dann beim login als passwort benutzen. Mit diesem command erstellt man dann den container
```sh
docker build -t gitlab.informatik.uni-bremen.de:5005/meth/akf-runde <directory mit dockerfile>
```
Und so pusht man das ins registry
```sh
docker push gitlab.informatik.uni-bremen.de:5005/meth/akf-runde
```
Wir benutzen die OpenLigaDB API, um die Spiele und Ergebnisse etc. zu bekommen.
Eine Doku der Endpoints befindet sich hier https://api.openligadb.de/index.html.
Als auth-provider benutzen wir das FB3-Interne Gitlab.
Wegen Versionsunterschieden kann es sein, dass unsere Methode nicht mit neueren Gitlab Instanzen funktioniert.
Die Gitlab Version ist: `GitLab Enterprise Edition v16.11.4-ee`