Zum Inhalt springen

TUTORIAL Entwickler Informationen zur DR!FT Community API


Empfohlene Beiträge

Örgs ... habe jetzt ne Stunde lang den alten Raspi aktualisiert (apt-get upgrade dauert ewig aufm Zero).

 

Docker bekommt man danach recht schnell drauf: https://www.blog.berrybase.de/blog/2022/02/23/docker-auf-dem-raspberry-pi-basics/ 

Dein Cabinet von Github hab ich manuell entpackt und rübergeschoben. Allerdings rennt der docker compose recht schnell in einen Fehler: 

Bitte melde dich an um Bilder zu sehen.

Da ich mich mit Docker nicht ernsthaft auskenne, hat's jetzt ziemlich lange gedauert, bis ich in die compose.yml reingeschnuppert habe. Die MongoDB (Zeile 34 driftapi-db) ist das Problem ... gibts nicht für 32 bit Architektur (https://www.mongodb.com/community/forums/t/mongodb-raspberry-pi-4-docker-image/2162/3).

Für heute komme ich nicht weiter, habe jetzt mal einen neueren Raspi bestellt.

Falls jemand mitmacht, hier ist die Kompatibilitätsliste für das 64 Bit OS: https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/

 

    

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb Foox:

Cool ... probiere ich am Wochenende mal aus. Hab jetzt doch angefangen mit dem Raspi. Wenn das geht könnte man damit recht einfach einen portablen Gameserver bauen, den man ohne viel Gedöns zum Treffen mitnehmen kann. Hübsch konfiguriert würde der einen Wlan für die teilnehmenden Handys aufspannen und soweit ich es von hier umreisse, müsste man den Startup usw skripten können, so dass man die Kiste dann headless vom Handy aus bedienen kann.

 

PS: Habe schon lange nicht mehr mit so einem debil glücklichen Grinsen vorm Rechner gesessen. 😉 

Geht mir ähnlich. Umso fetter das Grinsen, wenn man " es" nach 20 Jahren Abstinenz doch noch kann.

(Eigenen Server aufgesetzt)

Bitte melde dich an um Bilder zu sehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

 Man könnte auf dem raspi auch einfach git installieren und das projekt darüber von github runterladen (git clone ...). Dadurch kann man es später auch einfacher updaten.

Grundsätzlich ist MongoDB nicht unbedingt die beste Datenbank für die Art von Daten, aber soe hilft sehr dabei, schnell neue Konzepte und Datenmodelle zu etablieren und daher beim Prototyping. Nen richtig schönes Webportal wäre aber schöner, das könnte man ja auch noch lokal aufsetzen, aber das würde es für viele Spieler noch einfacher machen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo liebe Dr!ft-Community,

ich bin eigentlich eher ein stilles Mitglied, aber doch schon jetzt länger dabei.

Das Projekt verleitet mich jetzt etwas aus meiner Haut zu gehen und etwas aktiver zu werden.

Ich habe da gleich mal eine Frage zum Docker Container.

Wäre es nicht einfacher die Images gleich auf  der Docker Registry (Docker Hub) zu publishen?

Da müsste man diese nicht erst selbst bauen. Und ich kann Sie auch gleich auf meiner NAS starten ohne die dies über SSH zu starten. 🙂

Sonst tolle Arbeit und ein wichtiger Schritt in die richtige Richtung!

Viele Grüße!

Steve

Bearbeitet von Dragonheart83
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

 

Bitte melde dich an um den Link zu sehen.

 Könnt ihr eine Tabelle mit allen Modellen, Motoren und Tunings bereitstellen, so dass man auch auf alle Fahrzeugmodelle und Varianten reagieren kann? Anbei mal ein Beispiel was ich mir da so vorstelle.

Bitte melde dich an um Bilder zu sehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

das ist absichtlich als offener String formuliert, weil man sonst immer bei einem neuen Release das Datenmodell der App anpassen müsste, oder eben diese Tabelle. Wir könnten aber als Community versuchen die Tabelle zu erstellen, wir müssten ja alle Fahrzeuge haben 😉

Bzw das Modell selbst gibts nicht, aber ich hab da mal was gemacht, müssten wir nur mal überprüfen ob die Strings für die Motoren und Tunings hinten stimmen:

https://docs.google.com/spreadsheets/d/1qVbCz_XAFfcknnZy1WTwsLsQwQ6Vp6zKvinG_LH6-Hc/edit?usp=sharing

(Tabelle ist bearbeitbar, Änderungen können aber nachvollzogen werden)

 

Bearbeitet von Decrayer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

 Ich nehme mal an, dass die Werte für „Motorsetup“ in der C-API als „tuning_type“ via dem enter-Event übergeben werden. 
Dann habe ich mal noch eine Spalte „engine_type“ hinzugefügt und mal für den DTM Benz den Wert eingetragen, die ebenfalls mit dem enter-Event übergeben wird. 
 

Die Werte werden dann halt wichtig, wenn man einen sehr spezifischen Lauf mit „dem Auto“ und „dem Tuning“ fahren möchte um dies bereits in der Lobby verifizieren möchte. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

 ja, die Werte in der Tabelle habe ich vor nem halben Jahr mal einfach aus der App abgeschrieben, deshalb wäre es gut, wenn wir systematisch die tatsächlich beim enter-event genutzten Bezeichner in der Tabelle sammeln (deshalb ist die auch editierbar). Das Ding ist halt, dass diese nicht eine geschlossene Menge sind, sondern wenn neue Modelle rauskommen, auch Neue dazu kommen. Deshalb habe ich die nicht fest ins Datenmodell rein kodiert, so etwas muss man über ein erweitertes Datenmodell machen, in dem man die Motoren idealerweise auch noch in weitere Klassen unterteilt (Front/Heckantrieb, Leistungsklassen was die PS-Zahl angeht, CLUBSPORT). Die Liste die ich gepostet habe ist aber denke ich nen guter Anfang, ich muss noch den MAHLE komplett als eigenständiges Auto eintragen, da hab ich bisher nur die Sonderkonfiguration drin.

Edit: Hab den Mahle jetzt eingetragen und auch mal geschaut, was ankommt wenn ich den Turbo Motor rein haue. D1 mit V8 und V12 hab ich auch eingetragen, genau so den BMW DTM Motor.

Bearbeitet von Decrayer
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 15 Stunden schrieb Decrayer:

Bitte melde dich an um den Link zu sehen.

 Man könnte auf dem raspi auch einfach git installieren und das projekt darüber von github runterladen (git clone ...). Dadurch kann man es später auch einfacher updaten.

Grundsätzlich ist MongoDB nicht unbedingt die beste Datenbank für die Art von Daten, aber soe hilft sehr dabei, schnell neue Konzepte und Datenmodelle zu etablieren und daher beim Prototyping. Nen richtig schönes Webportal wäre aber schöner, das könnte man ja auch noch lokal aufsetzen, aber das würde es für viele Spieler noch einfacher machen.

So, neuer Pi4 liegt vor mir. PiOS in der 64 Bit Version ist auf der Karte und die Kiste läuft. Der o.g. Fehler beim "docker compose" tritt nicht mehr auf, das Problem mit MongoDB ist erstmal gelöst.

Nach einigen Minuten  im Compose Prozess kommt die nächste Fehlermeldung (siehe Screenshot). Ich sehe die Ursache hier in driftapi-main\driftapi\Dockerfile:

# build the actual image with just Python + PIP
FROM tiangolo/uvicorn-gunicorn:python3.8-slim
COPY --from=builder /app/dist/driftapi*.whl ./whl/
RUN pip3 install ./whl/*

Wenn ich es richtig verstehe, bedienst du dich in dem Schritt hier: https://hub.docker.com/r/tiangolo/uvicorn-gunicorn/

Aber was mir im folgenden Schritt (COPY) unklar ist: Wo ziehst du den whl-Ordner her und was ist da alles drin? Ist der das Ergebnis der vorhergehenden Sektion, wo das wheel gebaut wird? 

Ich vermute, dass daraus abzuleiten wäre, weshalb der "pip3 install" danach auf die Bretter geht. 

 

EDIT sagt: Hast du eine Idee was es mit der gelben Zeile im Screenshot auf sich hat? Er scheint ja bereits bei der installation anderer Pakete auszusteigen!?

 

Danke!

 

Bitte melde dich an um Bilder zu sehen.

Bearbeitet von Foox
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde dich an um den Link zu sehen.

hattest du das mal unter linux aufgesetzt gehabt ? weil bei mir nimmt er den docker command nicht und wenn ich normal gebuilded habe hat er den racedisplay-service: container nicht mit gestartet. erst nachdem ich das profile racedisplay-service: in der compose auskommentiert habe bzw den build und nicht das image benutzt habe hat es funktioniert .den command docker compose --profile racedisplay up --build gibt es nicht unter linux . hab es auf meinen windows nicht ausprobiert aber linux hatte es mit der doku vom github so nicht funktioniert.

 

danach ganz normal "docker-compose build" und "docker-compose up -d"

 

Bearbeitet von Skorpion_1988
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 11 Minuten schrieb Foox:

So, neuer Pi4 liegt vor mir. PiOS in der 64 Bit Version ist auf der Karte und die Kiste läuft. Der o.g. Fehler beim "docker compose" tritt nicht mehr auf, das Problem mit MongoDB ist erstmal gelöst.

Nach einigen Minuten  im Compose Prozess kommt die nächste Fehlermeldung (siehe Screenshot). Ich sehe die Ursache hier in driftapi-main\driftapi\Dockerfile:

# build the actual image with just Python + PIP
FROM tiangolo/uvicorn-gunicorn:python3.8-slim
COPY --from=builder /app/dist/driftapi*.whl ./whl/
RUN pip3 install ./whl/*

Wenn ich es richtig verstehe, bedienst du dich in dem Schritt hier: https://hub.docker.com/r/tiangolo/uvicorn-gunicorn/

Aber was mir im folgenden Schritt (COPY) unklar ist: Wo ziehst du den whl-Ordner her und was ist da alles drin? Ist der das Ergebnis der vorhergehenden Sektion, wo das wheel gebaut wird? 

Ich vermute, dass daraus abzuleiten wäre, weshalb der "pip3 install" danach auf die Bretter geht. 

Bitte melde dich an um Bilder zu sehen.

Bitte melde dich an um den Link zu sehen.

Das ist in dem Fall ein zweistufiger Buildprozess, bei dem erst in einem container alles zusammen gebaut wird und nachher, quasi fürs deployment, ein schlankerer Container aufgesetzt wird, der vom vorherigen nur das gebaute wheel (whl) kopiert, aber nicht die ganze Umgebung besitzt die man fürs bauen braucht, sondern nur das nötigste.

Link zu diesem Kommentar
Auf anderen Seiten teilen

könnt ihr beide mal schauen, welche docker version ihr da benutzt bzw ob die aktuell ist? Auf älteren gibt es diese Befehle teilweise noch nicht die ich da benutze.

Bitte melde dich an um den Link zu sehen.

Nein, unter linux habe ich das nicht getestet, hatte da aber bisher eher weniger Probleme als unter Windows.

Bearbeitet von Decrayer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

×
×
  • Neu erstellen...

Wichtige Information

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung