MainKronos / Sonarr-AnimeDownloader

It is a Docker Container that uses Sonarr to download anime from AnimeWorld site (ITALY).
https://mainkronos.github.io/Sonarr-AnimeDownloader/
MIT License
46 stars 10 forks source link

Errore quando avvio il container #140

Closed Magnum9O closed 2 months ago

Magnum9O commented 8 months ago

Ciao Caro! Intanto grazie per il tuo lavoro :) Ho sempr eusato animedownlaoder, ma ultimamente non ha più funzionato perchè mi dava errori di permessi sulle cartelle quando scaricava i file. Pensando fosse un problema di configurazione, ho eliminato il conatiner e ho provato a ricrearlo, ma non sono più riuscito a riavviarlo, questo l'errore:

usermod: no changes Traceback (most recent call last): File "/src/main.py", line 29, in main() File "/src/main.py", line 10, in main core = Core() File "/src/components/backend/core/Core.py", line 50, in init self.tags = tags if tags else Tags(ctx.DATABASE_FOLDER.joinpath('tags.json')) File "/src/components/backend/database/Database.py", line 15, in init if not db.is_file(): raise FileNotFoundError() FileNotFoundError

GID/UID

User uid: 1000 User gid: 1000

ERROR: Success

I settings che uso sono i soliti (comuqnue quelli che sono sulla pagina di configurazione). Ho visto un post dove dicevi che avevi risolto con la dev, allora ho messo questo ghcr.io/mainkronos/anime_downloader:dev anzichè :latest ma dà sempre errore... Manu

MainKronos commented 8 months ago

Attualmente la versione Dev è allineata alla versione latest, quindi usare una o l'altra non cambia nulla.

Mi servirebbe anche lo script o il docker-compose che hai usato per avviare il container

Magnum9O commented 8 months ago

Ciao! Ecco:

API_KEY | quella giusta xD PGID | 1000 PUID | 1000 SONARR_URL | http://172.10.0.6:898 (questo è l'IP - statico- del container di sonarr. Ho provato anche con il 10.0.0.10:8989, ma dà lo stesso errore. Portainer (e animedownnloader) sono sul 10.0.0.10 TZ | Europe/Rome

porta 5000

volumi: /root/AppData/Animedownloader/script - /src/script /root/AppData/Animedownloader/database - /src/database /NAtaScia_downloads - /downloads /NAtaScia_TV - /tv

MainKronos commented 8 months ago

Prova ad aggiungere questo file nella cartella /root/AppData/Animedownloader/database

Magnum9O commented 8 months ago

usermod: no changes Traceback (most recent call last): File "/src/main.py", line 29, in main() File "/src/main.py", line 10, in main core = Core() File "/src/components/backend/core/Core.py", line 50, in init self.tags = tags if tags else Tags(ctx.DATABASE_FOLDER.joinpath('tags.json')) File "/src/components/backend/database/Database.py", line 15, in init if not db.is_file(): raise FileNotFoundError() FileNotFoundError

GID/UID

User uid: 1000 User gid: 1000

ERROR: Successusermod: no changes Traceback (most recent call last): File "/src/main.py", line 29, in main() File "/src/main.py", line 10, in main core = Core() File "/src/components/backend/core/Core.py", line 52, in init self.connections_db = connections_db if connections_db else ConnectionsDB(ctx.DATABASE_FOLDER.joinpath('connections.json'), ctx.SCRIPT_FOLDER) File "/src/components/backend/database/ConnectionsDB.py", line 17, in init super().init(db) File "/src/components/backend/database/Database.py", line 15, in init if not db.is_file(): raise FileNotFoundError() FileNotFoundError

GID/UID

User uid: 1000 User gid: 1000

ERROR: Success

Magnum9O commented 8 months ago

è giusto chd dentro a database ho i due json settings e tables (e il tags che mi hai dato tu) e script è vuota?

MainKronos commented 8 months ago

Non capisco come mai non riesce a generarli in automatico... prova anche ad eseguire questo comando per correggere eventuali problemi con i permessi:

chmod 777 /root/AppData/Animedownloader/ -R
Magnum9O commented 8 months ago

ho provato a mettere quei file dentro e a fare i chmod, ma ora l'errore è questo :( response = connection.handle_request(request) File "/usr/local/lib/python3.9/site-packages/httpcore/_sync/connection.py", line 99, in handle_request raise exc File "/usr/local/lib/python3.9/site-packages/httpcore/_sync/connection.py", line 76, in handle_request stream = self._connect(request) File "/usr/local/lib/python3.9/site-packages/httpcore/_sync/connection.py", line 124, in _connect stream = self._network_backend.connect_tcp(**kwargs) File "/usr/local/lib/python3.9/site-packages/httpcore/_backends/sync.py", line 213, in connect_tcp sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) File "/usr/local/lib/python3.9/contextlib.py", line 135, in exit self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.9/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ConnectTimeout: timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/src/main.py", line 29, in main() File "/src/main.py", line 10, in main core = Core() File "/src/components/backend/core/Core.py", line 59, in init self.sonarr = sonarr if sonarr else Sonarr(ctx.SONARR_URL, ctx.API_KEY) File "/src/components/backend/connection/Sonarr.py", line 23, in init self.systemStatus().raise_for_status() File "/src/components/backend/connection/Sonarr.py", line 32, in systemStatus return self.client.get("/system/status") File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1055, in get return self.request( File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 828, in request return self.send(request, auth=auth, follow_redirects=follow_redirects) File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 915, in send response = self._send_handling_auth( File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 943, in _send_handling_auth response = self._send_handling_redirects( File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 980, in _send_handling_redirects response = self._send_single_request(request) File "/usr/local/lib/python3.9/site-packages/httpx/_client.py", line 1016, in _send_single_request response = transport.handle_request(request) File "/usr/local/lib/python3.9/site-packages/httpx/_transports/default.py", line 231, in handle_request resp = self._pool.handle_request(req) File "/usr/local/lib/python3.9/contextlib.py", line 135, in exit self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.9/site-packages/httpx/_transports/default.py", line 84, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectTimeout: timed out

MainKronos commented 8 months ago

Questo errore indica che il programma non riesce a connettersi con Sonarr

MainKronos commented 8 months ago

Sei riuscito a risolvere il problema?

bonny1992 commented 8 months ago

Ciao @MainKronos confermo anche io lo stesso problema. Il contenitore riesce a creare sia i files settings.json che table.json ma non crea né tags.json ne connections.json. Creandoli a mano ha funzionato subito.

MainKronos commented 7 months ago

Dovrei aver corretto il problema nella versione dev

Magnum9O commented 6 months ago

Ciao Lorenzo! Scusa se non ho più risposto, ho fatto il trasloco e il mio server è stato spento per un pò :) Ti confemro che con la versione dev il problema sembra rientrato :) Tuttavia qualcosa deve essere cambiato rispetto al passato, perchè non riesce a mapare correttamente le cartelle. Devo aprire un nuovo issue o te lo descrivo qui? =)

MainKronos commented 6 months ago

in che senso non riesce più a mappare le cartelle?

Magnum9O commented 6 months ago

Ciao Lorenzo :) Allora: questo è quello che mi esce image Quetsa è la config di AD: image (ho creato un volumes di portainer e corrisponde a questa) image E il container di sonarr ha queste impostazioni: image image

Il mio downloader è qui a casa, sonarr e AD sono su portainer su un serve rin cloud, per quello uso tailscale. Ma prima funzionava senza probloemi!

MainKronos commented 6 months ago

La configurazione mi sembra corretta, potrebbe essere un problema di permessi nella cartella /Media o /Media/tv??

Taoshan98 commented 5 months ago

Ciao ragazzi, ho avuto lo stesso problema ed ho risolto in questo modo:

e una volta riavviato il container ha iniziato a funzionare.

Taoshan98 commented 5 months ago

Ciao ragazzi, ho avuto lo stesso problema ed ho risolto in questo modo:

  • nella cartella '/data' ho creato manualmente i file 'tags.json' e 'connections.json'
  • poi ho dato 777 come permessi ai due file.

e una volta riavviato il container ha iniziato a funzionare.

Aggiornamento:

ho dovuto anche cambiare la ownership della cartella download che era stata creata come root.

MainKronos commented 5 months ago

Però non capisco come mai ci siano problemi con i permessi. In teoria, all'avvio del container, i permessi dovrebbero essere corretti con questo script

Magnum9O commented 5 months ago

Io continuo a non riuscire a farlo funzionare :( Mi crasha il container quando scarica e prova a spostare il file... Ora provo ance io a cambiare manualmente i permessi, il fatto è che la cartella su cui scarica è "remota" e non all'interno dell'ambiente che gestisce il container. Ma prima ha sempre funzionato

Magnum9O commented 5 months ago

ho provato a mettere uid 0 ma questo è il risultato:

 Verifica se l'episodio S1E1 è disponibile.
INFO     ✔️ L'episodio è disponibile.
WARNING  ⏳ Download episodio S1E1.
INFO     ✔️ Dowload Completato.
WARNING  ⏳ Spostamento episodio episodio S1E1 in /Media/TV/Kaiju No. 8.
WARNING  ⚠️ La cartella /Media/TV/Kaiju No. 8 è stata creata.
INFO     ✔️ Episodio spostato.
INFO     ⏳ Aggiornamento serie 'Kaiju No. 8'.
INFO     ⏳ Rinominando l'episodio.
CRITICAL ]─────────────────────────────────────────[CRITICAL]─────────────────────────────────────────[
ERROR    Episodio Non trovato
Traceback (most recent call last):
  File "/src/components/backend/core/Core.py", line 144, in run
    self.job()
  File "/src/components/backend/core/Core.py", line 177, in job
    self.downloader.download(serie)
  File "/src/components/backend/core/Downloader.py", line 121, in download
    self.__renameFile(episode['id'], serie['id'])
  File "/usr/local/lib/python3.9/site-packages/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)
  File "/usr/local/lib/python3.9/site-packages/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)
  File "/usr/local/lib/python3.9/site-packages/tenacity/__init__.py", line 325, in iter
    raise retry_exc.reraise()
  File "/usr/local/lib/python3.9/site-packages/tenacity/__init__.py", line 158, in reraise
    raise self.last_attempt.result()
  File "/usr/local/lib/python3.9/concurrent/futures/_base.py", line 438, in result
    return self.__get_result()
  File "/usr/local/lib/python3.9/concurrent/futures/_base.py", line 390, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.9/site-packages/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
  File "/src/components/backend/core/Downloader.py", line 231, in __renameFile
    if "episodeFile" not in res: raise Exception("Episodio Non trovato")
Exception: Episodio Non trovato
-------------------------------------
GID/UID
-------------------------------------
User uid:   0
User gid:   0
MainKronos commented 5 months ago

questo errore accade quando viene spostato l'episodio (con successo e senza errori) ma non viene trovato da sonarr, potrebbe essere causato da una configurazione errata dei volumi?