Skip to content
Snippets Groups Projects
README.md 2.43 KiB
Newer Older
  • Learn to ignore specific revisions
  • OpenSource Server für Tipprunden in dem Fachbereich 3 - Mathematik und Informatik, an der Universität Bremen.
    Geschrieben mit NextJs.
    
    - Docker (Mit compose)
    
    Leon Frölje's avatar
    Leon Frölje committed
    - nodejs
    
    Leon Frölje's avatar
    Leon Frölje committed
    
    ## Getting started
    
    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`
    
    Leon Frölje's avatar
    Leon Frölje committed
    4. Bei Gitlab in das container registry einloggen. 
    ```sh
    docker login gitlab.informatik.uni-bremen.de:5005
    ```
    
    Tjado Edzards's avatar
    Tjado Edzards committed
    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
    
    Leon Frölje's avatar
    Leon Frölje committed
    <!-- 5. `npm i` installiert dependencies
    
    6. `npm run seed` besamt die Datenbank
    
    Leon Frölje's avatar
    Leon Frölje committed
    7. `npm run dev` startet die Website auf http://localhost:3000 -->
    
    
    Zum selber deployen:
    1. Auf Gitlab eine Application anlegen. 
    
        - Scopes: openid, profile, email
    
        - 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
    
    Tjado Edzards's avatar
    Tjado Edzards committed
    6. `docker compose up -d`
    7. Tippspiel sollte auf Port `3000` laufen, Logs lassen sich mit `docker logs akf-runde` abfragen
    
    Leon Frölje's avatar
    Leon Frölje committed
    
    
    ### 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
    ```
    
    Leon Frölje's avatar
    Leon Frölje committed
    ## API
    
    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`