Pfuenzle / anime-loads

17 stars 7 forks source link

ARM #12

Closed CircaShoes closed 2 years ago

CircaShoes commented 3 years ago

Hallo,

ich bin noch nicht solange auf Github unterwegs, deswegen weiß ich sonst nicht wie ich dich konaktieren kann, aber kannst du die docker Image auch ARM fähig machen, damit ich das auf einer QNAP installieren kann?

MFG DeagX

Pheromir commented 2 years ago

Hey,

Ich hab zwar selbst nicht wirklich viel Ahnung von Docker-Images und erst recht nicht von ARM; aber weißt du welche ARM Architektur (dein) QNAP nutzt? Unter arm7 auf meinem Raspberry Pi konnte ich kein Image builden, da numpy (Python dependency) dafür wohl nicht angeboten wird und nicht gebuildet werden konnte. Bei arm64 hingegen schon, so dass ich dafür ein Image builden konnte.

Das Image hat im Test ein wenig rumgezickt und beim download im ersten Durchlauf z.B. einen Fehler (Error: the JSON object must be str, bytes or bytearray, not NoneType) rausgehauen, aber im 2. Durchlauf den Download erfolgreich beim JD über MyJD hinzugefügt.

Docker_Desktop_2021-08-24-08-15-17

Falls es bei dir also rein zufällig auch arm64 sein sollte, hättest du eventuell Glück. Ich kann nachher mal schauen ob ich das Image aufn Repository bekomme, aber DockerHub will mir aktuell keine Bestätigungsmail zusenden :^)

CircaShoes commented 2 years ago

Hallo,Danke für deine Antwort, leider ist es ein 32bit ARM Prozessor, ich kenn mich leider selber nicht gut aus mit Docker, hatte bei dir die Hoffnung :D--Diese Nachricht wurde von meinem Android Mobiltelefon mit WEB.DE Mail gesendet.Am 24.08.21, 08:17 schrieb Pheromir @.***>:

Hey, Ich hab zwar selbst nicht wirklich viel Ahnung von Docker-Images und erst recht nicht von ARM; aber weißt du welche ARM Architektur (dein) QNAP nutzt? Unter arm7 auf meinem Raspberry Pi konnte ich kein Image builden, da numpy (Python dependency) dafür wohl nicht angeboten wird und nicht gebuildet werden konnte. Bei arm64 hingegen schon, so dass ich dafür ein Image builden konnte. Das Image hat im Test ein wenig rumgezickt und beim download im ersten Durchlauf z.B. einen Fehler (Error: the JSON object must be str, bytes or bytearray, not NoneType) rausgehauen, aber im 2. Durchlauf den Download erfolgreich beim JD über MyJD hinzugefügt.

Falls es bei dir also rein zufällig auch arm64 sein sollte, hättest du eventuell Glück. Ich kann nachher mal schauen ob ich das Image aufn Repository bekomme, aber DockerHub will mir aktuell keine Bestätigungsmail zusenden :^) —You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.

Pheromir commented 2 years ago

Okay, schade. Hatte die Hoffnung, dass es dir etwas bringen könnte, aaaaber da hat uns QNAP wohl einen Strich durch die Rechnung gemacht.

Falls das hier nochmal jemand lesen sollte der eventuell arm64 benötigt: Ein halbwegs funktionierendes Image habe ich jetzt auf DockerHub gepushed. Funktionsweise ist quasi wie bei dem normalen Image, so dass die Anleitung aus der Readme genutzt werden kann. Kleiner Unterschied jedoch: Statt in /config muss der config-Ordner in /usr/src/app/anime-loads/config gemounted werden. //Update: Image wurde angepasst, dass der config-Ordner wieder in /config gemounted werden kann/muss

Pheromir commented 2 years ago

Ich habe es dank etwas Hilfe von einem Kollegen geschafft, auch ein arm7 Image zu basteln. Ich hoffe mal, dass das bei dir läuft. Habe es nur ganz kurz mit einem durchlauf und einem Download geprüft und es schien soweit zu funktionieren. Das Image ist allerdings alles andere als professionell erstellt, daher kann es eventuell sein dass es nicht sooo gut läuft.

Falls QNAP auch kein arm7 sondern nochmal was anderes nutzt, weiß ich auch nicht mehr groß weiter :D

Kannst jedenfalls mal testen ob es funktioniert, das Image kannste über DockerHub mit dem Tag pheromir/anime-loads:armv7 pullen.

//Update: Das Image ist jetzt auch mit dem latest-tag versehen, so dass es einfach mit docker pull pheromir/anime-loads:latest geladen werden können sollte

Docker_Desktop_2021-08-25-14-44-27

CircaShoes commented 2 years ago

Hallo,

danke schonmal für die Hilfe, hab denn bot zum laufen bekommen, aber leider kommt diese fehlermeldung beim hinzufügen eines downloads Error: <class 'selenium.common.exceptions.WebDriverException'> anibot.py 676 , ab da komm ich leider nicht weiter, ich glaube das hängt irgendwie mit dem Browser zusammen, da ja auf er QNAP keiner ist.

Pheromir commented 2 years ago

ich glaube das hängt irgendwie mit dem Browser zusammen, da ja auf er QNAP keiner ist.

Das Docker-Image beinhaltet Firefox-ESR, daher sollte das egal sein. Die x64-Variante funktioniert ja auch auf meinem Synology-NAS, obwohl dort ebenfalls kein Browser installiert ist.

Ich habe noch ein Image hochgeladen (pheromir/anime-loads:armv7-debug) welches du mal pullen kannst, da ich dort die Fehlerausgabe etwas angepasst habe, damit man mehr als nur <class 'selenium.common.exceptions.WebDriverException'> anibot.py 676 als Fehler bekommt. Eventuell kann ich mit der vollen Fehlermeldung mehr anfangen.

CircaShoes commented 2 years ago

danke für die schnelle antwort.

Hier die Fehlermeldung mit Debug Image Error: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

Pheromir commented 2 years ago

Ist in deiner ani.json ganz unten die Browserengine zufällig auf "1" / "chrome" oder irgendetwas anderes als 0 eingestellt? Wenn ja, probiere mal browserengine auf 0 zu setzen.

        "browserengine": 0,
        "browserlocation": "",

Normal sollte im Pythonprogramm fest eingeschrieben sein, dass bei Docker-Containern automatisch Firefox (0) statt Chrome genutzt wird, daher ist im Image aktuell nur der Geckodriver statt Chromedriver installiert.

CircaShoes commented 2 years ago

Hi, hab jetzt auf 0 geändert, dann kommt dieser Fehler

[Errno 8] Exec format error: 'geckodriver' [ERROR] Fehler beim hinzufügen von Episode 7 von Sonny Boy, wird im nächsten Durchlauf erneut versucht. Ist JDownloader gestartet?

Pheromir commented 2 years ago

Ich habe die Version von Geckodriver mal durch die letzte arm7 Version getauscht (v0.23.0 statt v0.29.1, aber die neueren werden nicht mehr für arm bereitgestellt). Schätze mal dass die Docker-Emulation für den ARM-Container da etwas toleranter war als ein echtes ARM-System..

Habe das armv7-debug Image aktualisiert, am besten einmal darauf achten, dass die neue Version vor dem Test gezogen wurde (docker pull pheromir/anime-loads:armv7-debug).

CircaShoes commented 2 years ago

Hi, danke nochmal für die Mega Hilfe, es funktioniert jetzt so teilweise, bei manchen Downloads kommt noch der Fehler: Error: Message: connection refused

[ERROR] Fehler beim hinzufügen von Episode 8 von I’m Standing on a Million Lives 2, wird im nächsten Durchlauf erneut versucht. Ist JDownloader gestartet?

aber nach paar durchläufen funktioniert es dann doch, danke für denn mega job

Pheromir commented 2 years ago

Ich weiß leider nicht genau ob die connection refused Meldung von anime-loads oder von myjdownloader kommt, aber ich würde mal auf myjdl vermuten.

Ich bin mir nicht sicher wie bei dir das Setup mit JDownloader aussieht, aber bei meinem jDownloader den ich ebenfalls in einem Docker-Container laufen habe, "musste" ich damit es besser funktioniert erst in den Profieinstellungen vom jDownloader bei der Option MyJDownloader Settings: Custom Device IPs auf die lokale IP-Adresse des NAS setzen ([ "192.168.2.111" ] bei meinem Heimnetzwerk z.B.), damit es etwas besser funktioniert. Vielleicht ist das bei dir auch der Fall, ansonsten wüsste ich nicht groß was noch das Problem sein könnte, wenn man von Standardproblemen wie "PC mit JDownloader hat instabiles Internet" oder so absieht.

Sollte aber vermutlich nicht ganz so tragisch sein, solange die Folgen in einem der nachfolgenden Durchläufe heruntergeladen werden.

//Edit: Habe das Update mit dem richtigen Geckodriver übrigens im :latest bzw. :armv7 Tag übernommen, so dass das :arm7-debug Image nicht mehr nötig sein sollte.

Pfuenzle commented 2 years ago

Freut micht, dass es jetzt auch auf ARM geht, Danke für eure Hilfe

Pheromir commented 2 years ago

Das ARMv7 Image ist jetzt gefixed, bei mir auf dem Raspberry Pi konnte ich problemlos neue Episoden laden.

(Bis Pfuenzle das ganze auch als armv7 Image bereitstellen sollte, ist es über pheromir/anime-loads:latest bzw :armv7 im Dockerhub erhältlich)