toddrob99 / searcharr Goto Github PK
View Code? Open in Web Editor NEWSonarr & Radarr & Readarr Telegram Bot
License: MIT License
Sonarr & Radarr & Readarr Telegram Bot
License: MIT License
Hello,
I've been running searcharr on my NAS without any flaws for the past couple of months, but have since had to format it and reinstall it. (Not entirely sure which version I had, sorry, I know it would have been useful)
Ever since the reformat, the bot is very slow for some reason and it seems like it's spamming the logs with the following error:
Error while getting Updates: urllib3 HTTPError HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /bot`<telegram-token-removed>`/getUpdates (Caused by ConnectTimeoutError(<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x7f70d09550d0>, 'Connection to api.telegram.org timed out. (connect timeout=5.0)'))
I used to use another bot, there was an opportunity to send a command to search for a movie / series, and only after that it was necessary to specify the name. It was convenient, you could create commands on the menu button, send a command to search for a movie and only then add the name of the movie. Is it possible to implement such a possibility in your solution?
Support for multiple Sonarr and/or Radarr servers with a single instance of Searcharr.
Prompt user to select a server before searching and returning any results.
hello can you add option to add Password to access forum page in radarr
thank You
Perhaps send an approval message with accept/deny buttons to all admins when a non-admin submits a request. Will need to handle updating/removing requests sent to other admins when one completes the request.
Or add an admin command to manage requests similar to how users are managed, and send a message to admins that prompts them to start the request management flow. May still need to send a message indicating the request was completed.
Or add support for an admin group where individual requests can be posted in a single location and accepted/denied by any admin in the group.
Suggested by @wesd84 on Telegram
Is there a way a more experienced person can help with a writeup? As noobs struggle with getting the configuration correct
Telegram user @JoaoPSVieira would like users to be presented with a list of tags that exist in Sonarr/Radarr when adding a series/movie, and asked to select one to add. This tag would be used to apply restrictions within indexer config.
I would love it if we could configure the commands to be our own
such as replacing /series with /tv
/movies with /mv
Cheers!
Was caused by a misconfigured endpoint URL in Sonarr. Probably happens for Radarr too.
Setting to automatically add a tag for each genre of the movie/series being added.
Filter automatically-added tag(s) from user-selectable list.
May be confusing for user if they don't see the genre(s) listed because they are automatically added, but they do see other genres available to select.
Suggested by @ldoctoru
Telegram user @JuanraNunez requested a command to list all movies/series in sonarr/radarr. Would need to determine if it should list only missing, downloaded, or all. Will be more complex for series to list missing, maybe # of episodes missing per season or overall.
Consider allowing an optional setting in settings.py to set a default root folder and therefore not ask users what folder they want to use. Alternatively hide root folders x,y,z from searcharr.
Please consider a method to donate to the project via Bitcoin etc
Thank you for your work.
Hello,
I did the French translation for searcharr. If you want to include it, here is my fr-fr.yml
language_ietf: fr-fr
language_label: Français
movie: film
series: séries
season: saison
title: titre
title_here: titre ici
password: mot de passe
admin_password: mot de passe admin
admin_auth_success: Authentification admin réussie. Utilisez {commands} pour les commandes.
already_authenticated: Vous êtes déjà authentifié. Essayez {commands} pour obtenir des informations sur l'utilisation.
auth_successful: Authentification réussie. Utilisez {commands} pour les commandes.
incorrect_pw: Mot de passe incorrect. Imposteur.
auth_required: Je n'ai pas l'impression de vous connaître... Veuillez vous authentifier avec {commands} et réessayer.
admin_auth_required: Vous n'avez pas les droits d'administrateur... Veuillez vous authentifier avec {commands} et réessayer.
radarr_disabled: Désolé, mais le support des films est désactivé.
include_movie_title_in_cmd: Veuillez inclure le titre du film dans la commande, par exemple : {commands}
no_matching_movies: Désolé, mais je n'ai pas trouvé de films correspondants.
sonarr_disabled: Désolé, mais le support des séries est désactivé.
include_series_title_in_cmd: Veuillez inclure le titre de la série dans la commande, par exemple : {commands}
no_matching_series: Désolé, mais je n'ai pas trouvé de série correspondante.
no_users_found: Désolé, mais je n'ai pas trouvé d'utilisateurs. Cela semble être une erreur...
convo_not_found: J'ai reçu votre commande, mais je ne reconnais pas la conversation. Veuillez recommencer.
search_canceled: Recherche annulée !
no_root_folders: "Error adding {kind} : no root folders enabled for {app} ! Veuillez vérifier votre configuration Searcharr et réessayer."
no_quality_profiles: "Error adding {kind} : no quality profiles enabled for {app} ! Veuillez vérifier votre configuration Searcharr et réessayer."
all_seasons: Toutes saisons
first_season: Première saison
latest_season: Dernière saison
added: On a réussi à ajouter {titre} !
unknown_error_adding: Une erreur non spécifiée a été rencontrée lors de l'ajout de {kind} !
removed_user: Tous les accès de l'utilisateur ID [{user}] ont été supprimés avec succès !
unknown_error_removing_user: Erreur non spécifiée rencontrée lors de la suppression de l'identifiant de l'utilisateur [{user}] !
added_admin_access: Ajout d'un accès administrateur pour l'utilisateur [{user}] !
unknown_error_adding_admin: Erreur non spécifiée rencontrée lors de l'ajout d'un accès administrateur pour l'utilisateur [{user}] !
removed_admin_access: Suppression de l'accès admin pour l'id utilisateur [{user}] !
unknown_error_removing_admin: Erreur non spécifiée rencontrée lors de la suppression de l'accès administrateur pour l'id utilisateur [{user}] !
prev_button: < Préc.
next_button: Suiv. >
add_tag_button: "Ajout Tag: {tag}"
finished_tagging_button: Tag terminé
monitor_button: Monitor {option}
add_quality_button: "Qualité : {quality}"
add_path_button: Chemin {path}
add_button: ajouter {kind}!
already_added_button: Déjà téléchargé!
cancel_search_button: Annulation
add_series_anime_button: Ajouter la série comme type animé
unexpected_error: Quelque chose s'est mal passé !
remove_user_button: Supprimer
make_admin_button: rendre admin
remove_admin_button: retirer l'admin
done: Terminé
listing_users_pagination: Liste des utilisateurs de Searcharr {page_info}.
help_sonarr: Utilisez {series_commands} pour ajouter une série à Sonarr.
help_radarr: Utilisez {movie_commands} pour ajouter un film à Radarr.
no_features: Désolé, mais toutes mes fonctions sont actuellement désactivées.
admin_help: Puisque vous êtes un administrateur, vous pouvez également utiliser les {commands} pour gérer les utilisateurs.
Whatever I search for, even though it says it has done it nothing gets added. Some logs
I've been running searcharr for around 10 months or so and it's been great. Recently realized that the telegram bot stopped responding to inquiries. Searcharr container log shows the following recurring error. Any ideas what's causing the problem?
Traceback (most recent call last):
File "/app/searcharr.py", line 1775, in <module>
tgr.run()
File "/app/searcharr.py", line 1435, in run
updater.start_polling()
File "/usr/local/lib/python3.9/site-packages/telegram/ext/updater.py", line 422, in start_polling
self._init_thread(self.dispatcher.start, "dispatcher", ready=dispatcher_ready)
File "/usr/local/lib/python3.9/site-packages/telegram/ext/updater.py", line 342, in _init_thread
name=f"Bot:{self.bot.id}:{name}",
File "/usr/local/lib/python3.9/site-packages/telegram/bot.py", line 369, in id
return self.bot.id
File "/usr/local/lib/python3.9/site-packages/telegram/bot.py", line 363, in bot
self._bot = self.get_me()
File "/usr/local/lib/python3.9/site-packages/telegram/bot.py", line 130, in decorator
result = func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/telegram/bot.py", line 450, in get_me
result = self._post('getMe', timeout=timeout, api_kwargs=api_kwargs)
File "/usr/local/lib/python3.9/site-packages/telegram/bot.py", line 295, in _post
return self.request.post(
File "/usr/local/lib/python3.9/site-packages/telegram/utils/request.py", line 361, in post
result = self._request_wrapper(
File "/usr/local/lib/python3.9/site-packages/telegram/utils/request.py", line 265, in _request_wrapper
raise NetworkError(f'urllib3 HTTPError {error}') from error
telegram.error.NetworkError: urllib3 HTTPError HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /botXXXXXX:XXXXXXXXX/getMe (Caused by NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7ea5b64640>: Failed to establish a new connection: [Errno -3] Try again'))
Based on the readme, I tried to use /start in a group, added members and they were not authorized to requests things in the group
Validate urls from settings.py on startup and raise helpful error message if missing schema (common misconfiguration). See #4 for example
Screen-Recording-> https://files.catbox.moe/gbvqum.mp4
I've been able to add to Sonarr but Radarr 3.2.2.5080 is giving an error about qualityProfileId. I've tried both names and ids in the settings.py but both give the same error.
I've installed the latest docker image yesterday.
I noticed the year attribute doesn't have quotes around the value of 2022 but qualityProfileId has quotes around the value of 7.
2022-02-22 00:13:42,528 - DEBUG - searcharr.radarr():237 - Submitting POST request: [http://127.0.0.1:7878/api/v3/movie?apikey=APIKEY]; params: [{'tmdbId': 614934, 'title': 'Elvis', 'year': 2022, 'qualityProfileId': '7', 'titleSlug': '614934', 'images': [{'coverType': 'poster', 'url': '/MediaCoverProxy/dea63c91c7cbfd709c3073e8224a9897808aba3766cb4d66959703b66cbb53eb/uQPUWiC7EtX0pX0GxRIgtuwxTMz.jpg', 'remoteUrl': 'https://image.tmdb.org/t/p/original/uQPUWiC7EtX0pX0GxRIgtuwxTMz.jpg'}, {'coverType': 'fanart', 'url': '/MediaCoverProxy/ea283a5be61bbecb2f61a0484c489c54f0394108259845d25280ef46cda0a6d2/1zgz0LAT3avelWe6whHSa9j7zfq.jpg', 'remoteUrl': 'https://image.tmdb.org/t/p/original/1zgz0LAT3avelWe6whHSa9j7zfq.jpg'}], 'rootFolderPath': '/Movies', 'monitored': True, 'minimumAvailability': 'announced', 'tags': [5, 4], 'addOptions': {'searchForMovie': True}}]
2022-02-22 00:13:42,550 - ERROR - searcharr():894 - Error adding movie: 400 Client Error: Bad Request for url: http://127.0.0.1:7878/api/v3/movie?apikey=APIKEY
2022-02-22 00:13:42,551 - DEBUG - searcharr():896 - Result of attempt to add movie: False
2022-02-22 00:13:42.5|Warn|RadarrErrorPipeline|API Error:
BadRequest: Invalid request body. The JSON value could not be converted to System.Int32. Path: $.qualityProfileId | LineNumber: 0 | BytePositionInLine: 74.
Sometimes it's difficult to find the exact movie you're looking for, would it be possible to search by ID?
Seems I'm getting a 404 error on one of the Sonarr v4 endpoints
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://127.0.0.1:8989/sonarr/api/profile?apikey=REDACTED
Assuming there'd be other changes to the API as well, thats the only error I'm getting so far though.
It would be cool to assign users with X requests a day or so. Main purpose for this would be to limit abuse, and allows me to check HDD space before anyone requests a lot of things
Is it possible to add port definitions to the container so it can be run in bridge mode rather than host?
First of all, thanks @toddrob99 for a awesome piece of software, last week this time, actually Friday this time! i didnt know this existed nor have i ever really played with docker, since Friday evening till now, i have a proxmox server, running 4 LXC's with sonarr, radarr, transmission, searcharr and anout 10 other selfhosted app's .. its been overwhelming, but oh so much fun!
I have installed radarr, sonarr and searcharr. I started with sonarr, and everything works perfectly. Can search a /series, it picks it up, adds it, asks which of the root folders i have in sonarr it should donwload it to, it downloads, moves, updates, awesome!
Then i started with radarr, not so good! each time i search for a movie, searcharr picks it up, but on adding it says Error adding movie: no root folders enabled for Radarr! Please check your Searcharr configuration and try again
settings.py (which i will add in the end here) does in fact not have a root folder inserted, but neither does sonarr, because I am planning on having two folders for radarr, one for adult movies, uhm wait, that doesnt sound right! one for normal movies and one for kids movies, so i dont want a default path, i want it to ask.
Similarly sonarr doesnt have a default path either and works perfectly
Lastly, i have rechecked my folders, permissions and even manually added a movie to radarr, it sees it, picks it up, throws it to transmission, and after completing the DL, radar picks it up again, renames and moves it, so im sure everything (paths and permissions) are a ok there.
Again! thanks alot for the app dude
EDIT: I just tried it with adding radarr_movie_paths = [1], and it works! but would love to keep it empty in order for me to choose /movies or /animated in telegram
"""
Searcharr
Sonarr & Radarr Telegram Bot
By Todd Roberts
https://github.com/toddrob99/searcharr
"""
# Searcharr Bot
searcharr_password = "REDACTED" # Used to authenticate as a regular user to add series/movies
searcharr_admin_password = "REDACTED" # Used to authenticate as admin to manage users
# Telegram
tgram_token = "REDACTED"
# Sonarr
sonarr_enabled = True
sonarr_url = "http://10.1.1.103:8989/" # http://192.168.0.100:8989
sonarr_api_key = "REDACTED"
sonarr_quality_profile_id = ["SDTV"] # can be name or id value - include multiple to allow the user to choose
sonarr_add_monitored = True
sonarr_search_on_add = True
sonarr_tag_with_username = True
sonarr_forced_tags = [] # e.g. ["searcharr", "friends-and-family"] - leave empty for none
sonarr_allow_user_to_select_tags = True
sonarr_user_selectable_tags = [] # e.g. ["custom-tag-1", "custom-tag-2"] - leave empty to let user choose from all tag>
sonarr_series_command_aliases = ["series"] # e.g. ["series", "tv", "t"]`
sonarr_series_paths = [] # e.g. ["/tv", "/anime"] - can be full path or id value - leave empty to enable all
sonarr_season_monitor_prompt = False # False - always monitor all seasons; True - prompt user to select from All, Firs>
# Radarr
radarr_enabled = True
radarr_url = "http://10.1.1.103:7878" # http://192.168.0.100:7878
radarr_api_key = "REDACTED"
radarr_quality_profile_id = ["HD - 720p/1080p"] # can be name or id value - include multiple to allow the user to choo>radarr_add_monitored = True
radarr_search_on_add = True
radarr_tag_with_username = True
radarr_forced_tags = [] # e.g. ["searcharr", "friends-and-family"] - leave empty for none
radarr_allow_user_to_select_tags = True
radarr_user_selectable_tags = [] # e.g. ["custom-tag-1", "custom-tag-2"] - leave empty to let user choose from all tag>radarr_min_availability = "released" # options: "announced", "inCinemas", "released"
radarr_movie_command_aliases = ["movie"] # e.g. ["movie", "mv", "m"]
radarr_movie_paths = [] # e.g. ["/movies", "/other-movies"] - can be full path or id value - leave empty to enable all
Issue:
When having more than one Language Profiles enabled in Sonarr, every TV Show added within Searcharr defaults to English (or languageProfileId = 1)
As I like to watch some TV shows in English and other in German I manually select the language Profile in Sonarr when adding a new Series.
The parameter is missing in Sonarr API Documentation but I've confirmed that it's working with a CURL Request. You can also see the parameter in Chrome Dev Tools.
curl --header "Content-Type: application/json" \
--request POST \
--data '{"qualityProfileId":4,"tvdbId":78107,"languageProfileId":2,"title":"The Office","titleSlug":"the-office","images":[{"coverType": "banner","url": "/MediaCover/166/banner.jpg?lastWrite=637961218386683368","remoteUrl":"https://artworks.thetvdb.com/banners/v4/series/401998/banners/62a90eafd0318.jpg"},{"coverType": "poster","url": "/MediaCover/166/poster.jpg?lastWrite=637961218388043342","remoteUrl":"https://artworks.thetvdb.com/banners/v4/series/401998/posters/62cc2623984e8.jpg"},{"coverType": "fanart","url": "/MediaCover/166/fanart.jpg?lastWrite=637961218390003303","remoteUrl":"https://artworks.thetvdb.com/banners/v4/series/401998/backgrounds/62a0d9f3da7a2.jpg"}],"seasons":[{"seasonNumber": 1,"monitored": true}],"path":"/tv/The Office"}' \
http://sonarr:8989/api/v3/series?apikey=<API KEY>
Solution:
The easiest solution would probably be a static parameter in settings.py. The best solution would probably be a choice between different languageProfiles when adding a Series in Searcharr.
Thank you very much, Searcharr works great so far! 👍
I rarely want to download all available episodes for a series until I watch a few episodes to determine whether or not I like the show; especially for those shows with multiple seasons. I would really like the option to choose the number of episodes to download initially, when adding the series. I can then go back into Sonarr and mark the rest for download after I watch the first few. An example would be, "Download the first 3 episodes of the first Season", "Download the entire first season", or "Download all available episodes." It may be easier to list all available seasons when adding a show and allow the user to select which seasons and episodes that they want to download before adding the show to Sonarr.
Because of the way that the bot is currently programmed for TV shows, I can only use it for Radarr. The first TV show that I attempted to add tried to download all 5 seasons immediately. Thanks for the awesome work!
Nothing is in these mapped drives when I start the container in docker compose.
searcharr:
container_name: searcharr
image: toddrob/searcharr:latest
volumes:
- /opt/searcharr/data:/app/data
- /opt/searcharr/logs:/app/logs
- /opt/searcharr/settings.py:/app/settings.py
environment:
- PUID=1000
- GUID=1000
- TZ=Europe/London
restart: unless-stopped
network_mode: host
Hey! Love what you're doing here! I would like to see support for Readarr as well
Please consider letting the user choose the language for the series. Radarr includes the language in the quality profile but Sonarr has a different parameter called "Language profile" which from my understanding is not currently selectable via Searcharr. Thank you for your work, this is an amazing tool!
Hey, I followed the setup instructions but I can't figure this one out, what have I missed, I get the following when I try to start searcharr (ran it from source):
sudo python3.8 searcharr.py
Traceback (most recent call last):
File "searcharr.py", line 16, in
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, InputMediaPhoto
ModuleNotFoundError: No module named 'telegram'
Easiest option is to add a config setting for max adds per calendar day, and enforce the same limit for all non-admin users.
More complex option is to add a column to the user table and allow admins to set a limit per user.
Suggested by @wesd84 on Telegram
I've got those 2 apps running alongside sonarr and radarr and it would be great to be able to use searcharr with them. As far as I'm aware they are based on radarr, if that helps. Lidarr is for music and readarr for books/audiobooks.
Thank you so much.
Configurable translations for button and field labels
@HellBoyJr on Telegram will help with Brazilian Portuguese
Add feature to request for a specific season for TV Series, like the big bang theory season 10 or season 5 etc
Looks like searcharr stopped working. All I get is the following:
`Traceback (most recent call last):
File "/app/searcharr.py", line 1778, in
tgr.run()
File "/app/searcharr.py", line 1422, in run
updater.dispatcher.add_handler(CommandHandler(c, self.cmd_movie))
File "/usr/local/lib/python3.9/site-packages/telegram/ext/commandhandler.py", line 164, in init
raise ValueError('Command is not a valid bot command')
ValueError: Command is not a valid bot command
Traceback (most recent call last):
File "/app/searcharr.py", line 1778, in
tgr.run()
File "/app/searcharr.py", line 1422, in run
updater.dispatcher.add_handler(CommandHandler(c, self.cmd_movie))
File "/usr/local/lib/python3.9/site-packages/telegram/ext/commandhandler.py", line 164, in init
raise ValueError('Command is not a valid bot command')
ValueError: Command is not a valid bot command`
And the container keeps restarting. Is anyone else having this issue?
Thanks in advance!
Love Searcharr, this is the first issue I've had. Not sure how reproducible this is. When searching certain titles, I never receive any sort of message, error or success. I know the bot is working because I can immediately search again for any other movie and it works.
The search terms I could consistently hit this with were :
/movie muppets
/movie Muppet Treasure Island
/movie The Triplets of Belleville
I was able to circumvent this issue by searching via tmdb as mentioned in a previous issue.
This seems bizarrely specific and I've searched quite a few other movies with no issue. Could anyone else try these search terms and see the results?
When searching for /movie black panther
, there is no response. This error appears in the log:
ERROR - searcharr(139873103756064):705 - Caught error: Wrong type of the web page content
After every time the bot restarts, it loses the authentication info. This means every user ever has to authenticate first in the group. Seems like having a list of chat/group ids for the bot to respond on would be a great alternative instead given how this bot might be used.
Hi
I am trying t run without docker
When I run the command python3 searcharr.py
It shows the following error
File "<fstring>", line 1
(r=)
^
SyntaxError: invalid syntax
Python3 Version : Python 3.6.9
Ubuntu 18
Please fix this
Thank you
Sorry for the dumb question, I am trying to follow your instructions and I don't use Docker but trying to start using python searcharr.py and get the error:
File "<fstring>", line 1 (r=) ^
?
Add setting to allow user to select a quality profile when adding a series/movie. If disabled, add with the configured default quality profile (current functionality). Request originated in #13.
Have an odd issue.
Searcharr has been running fine, however i noticed a group chat where there was no response. so i went looking for where the issue is. The whoile setup has not changed at all so not sure where the issue lies.
I have tested several /movie and /tv commands and most are fine.
however 2 examples i have for now "/movie vortex" and "/movie the last detail" both give the following error in the logs
Caught error: Wrong file identifier/http url specified
Cant work out why however
Various attempts on this. I am able to authenticate with the admin password, but not the non-admin password.
I tried making it 6 characters, no complex characters but still no luck :(
Please consider Lidarr support. Thank you for your work.
I recently had issues, everything was working perfectly, until recently I replaced my router with a new one, and now my searcharr bot is having network issues. I have not changed anything in the docker or docker-compose.yml files, and so I am not sure why I am having this issue. I even have the same static IP set for the device that runs it as I did before. Any help would be greatly appreciated. I'll post the pastebin link of the downloaded log file from docker
Thanks!
(here is the downloaded log file as well)
Hi.
I keep getting this error;
today at 10:10:51 Container started
today at 10:10:45 AttributeError: 'NoneType' object has no attribute 'startswith'
today at 10:11:00 Traceback (most recent call last):
today at 10:11:00 File "/app/searcharr.py", line 1114, in <module>
today at 10:11:00 tgr = Searcharr(settings.tgram_token)
today at 10:11:00 File "/app/searcharr.py", line 85, in __init__
today at 10:11:00 radarr.Radarr(settings.radarr_url, settings.radarr_api_key, args.verbose)
today at 10:11:00 File "/app/radarr.py", line 25, in __init__
today at 10:11:00 if not self.radarr_version.startswith("0."):
today at 10:11:00 AttributeError: 'NoneType' object has no attribute 'startswith'
today at 10:11:01 Container stopped
This is my settings.py
"""
Searcharr
Sonarr & Radarr Telegram Bot
By Todd Roberts
https://github.com/toddrob99/searcharr
"""
# Searcharr Bot
searcharr_password = "" # Used to authenticate as a regular user to add series/movies
searcharr_admin_password = "" # Used to authenticate as admin to manage users
# Telegram
tgram_token = "1851256822:AAGXnJQxxxxxxxxxxxxxxxxxxxxxxUHIvif1dDc"
# Sonarr
sonarr_enabled = True
sonarr_url = "http://192.168.xx.xxx:8989" # http://192.168.1.110:8989
sonarr_api_key = "a4cee1b5e4ac4343b0d8b8b7190xxx"
sonarr_quality_profile_id = "HD 720p" # can be name or id value
sonarr_add_monitored = True
sonarr_search_on_add = True
sonarr_tag_with_username = True
# Radarr
radarr_enabled = True
radarr_url = "http://192.168.xx.xxx:7878" # http://192.168.1.110:7878
radarr_api_key = "5015ce27b9274e1b932734366d5xxxx"
radarr_quality_profile_id = "HD-720p" # can be name or id value
radarr_add_monitored = True
radarr_search_on_add = True
radarr_tag_with_username = True
ANd my docker-config.yml
searcharr:
container_name: searcharr
hostname: searcharr
image: toddrob/searcharr:latest
restart: unless-stopped
#network_mode: host
volumes:
- ${USERDIR}/searcharr/data:/app/data
- ${USERDIR}/searcharr/logs:/app/logs
- ${USERDIR}/searcharr/settings.py:/app/settings.py
environment:
- TZ=${TZ}
ports: # if running network_mode: host, remove ports (or vice versa)
- "${SEARCHARR_PORT}:8440"
hi, i don't know what i'm doing wrong,
I clone the git repository, i added a logs directory, edit my settings.py, my docker-compose.yml and add a fr-fr.yml file in the lang folder.
In my setting.py i put "fr-fr".
When i compose my container the log says :
2022-09-14 20:54:49,514 - ERROR - searcharr(548159638600):1749 - Error loading lang/fr-fr.yml. Confirm searcharr_language in settings.py has a corresponding yml file in the lang subdirectory. Using default (English) language file.
What i'm doing wrong ?
Thanks for the bot by the way !
Need to support v3 api since the legacy api will no longer be supported. Only difference, aside from the url containing /v3
, is the profile
endpoint changes to qualityProfile
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.