Wszystkie strony Konfiguracja

Dokumentacja Pierwsze kroki

Konfiguracja

Każda zmienna środowiskowa, którą odczytuje Rainy, wraz z wartością domyślną i tym, co zmienia.

Rainy odczytuje ustawienia ze zmiennych środowiskowych. Przy instalacji z Pythonem wartości z .env są wczytywane po uruchomieniu serwera. Przy Docker Compose Compose odczytuje .env do podstawiania wartości i przekazuje do kontenera tylko zmienne wymienione w app.environment. Po zmianie wartości uruchom Rainy ponownie. Przy Dockerze wykonaj docker compose up -d, aby kontener został odtworzony z nowym środowiskiem.

Za punkt wyjścia weź .env.example, który wymienia ustawienia, które większość osób zmienia. Poniższe tabele obejmują wszystko, co odczytuje kod aplikacji. Wartość domyślna oznaczona jako „brak” oznacza, że Rainy działa bez tej zmiennej i odpowiednio włącza lub wyłącza powiązaną funkcję.

Ustawienia odczytywane wyłącznie przez skrypty startowe (start.sh, start.bat) lub przez punkt wejścia Dockera ustawiasz w powłoce. Wartości używane tylko przez Compose, takie jak RAINY_PORT i MUSIC_LIBRARY_PATH, wpisujesz w .env, ponieważ Compose odczytuje ten plik do podstawiania. Są one wymienione osobno na końcu.

Rdzeń i bezpieczeństwo

Zmienna Domyślnie Co robi
FLASK_SECRET_KEY Pusta Podpisuje pliki cookie sesji. Rainy nie uruchomi się, dopóki klucz nie ma co najmniej 32 znaków i nie jest wartością zastępczą, chyba że ustawiono RAINY_DEV. Wygeneruj go poleceniem python -c "import secrets; print(secrets.token_hex(32))".
RAINY_DEV Wyłączona Tryb deweloperski. Przyjmuje 1, true lub yes. Pozwala na tymczasowy losowy klucz, który resetuje się przy każdym uruchomieniu, i włącza debugger Werkzeug po uruchomieniu app.py. Nie używaj tego na serwerze udostępnionym na zewnątrz.
SESSION_LIFETIME_DAYS 30 Jak długo trwa logowanie. Sesja przedłuża się przy każdym użyciu.

Baza danych

Zmienna Domyślnie Co robi
RAINY_DB Automatycznie mysql lub sqlite. Gdy nie jest ustawiona, Rainy używa MySQL, jeśli ustawiona jest jakakolwiek zmienna MYSQL_*, a w przeciwnym razie SQLite. Każda inna wartość zatrzymuje start z błędem.
SQLITE_PATH data/rainy.db Ścieżka do pliku SQLite, względna względem folderu projektu, chyba że podasz ścieżkę bezwzględną.
MYSQL_HOST localhost Host MySQL. Możesz dodać port, na przykład 127.0.0.1:3306.
MYSQL_PORT 3306 Port MySQL. Gdy nie jest ustawiony, używany jest port zapisany w MYSQL_HOST.
MYSQL_USER root Użytkownik MySQL. Utwórz dedykowanego użytkownika zamiast używania root.
MYSQL_PASSWORD Pusta Hasło MySQL.
MYSQL_DATABASE rainy Nazwa bazy danych MySQL.
Jeśli MYSQL_USER nie jest ustawiona, Rainy łączy się jako root. Ustaw tu dedykowane konto, które utworzyłeś dla Rainy.

Sieć i proxy

Zmienna Domyślnie Co robi
RAINY_HTTP_PORT 6969 Port, na którym Rainy nasłuchuje po uruchomieniu python app.py.
RAINY_COOKIE_SECURE Wyłączona Dodaje flagę Secure do plików cookie sesji, dzięki czemu przeglądarki wysyłają je tylko przez HTTPS. Włącz, gdy udostępniasz Rainy przez HTTPS.
RAINY_TRUST_PROXY Wyłączona Ufa nagłówkom X-Forwarded-For, X-Forwarded-Proto i X-Forwarded-Host. Włączaj tylko za odwrotnym proxy, które kontrolujesz, aby limity na adres IP widziały prawdziwego klienta. Nigdy nie włączaj tej opcji, gdy Rainy jest dostępny bezpośrednio.
RAINY_CORS_ORIGINS Pusta Lista oddzielona przecinkami, zawierająca inne źródła, którym wolno wywoływać API z poświadczeniami. Żądania API zmieniające dane z innego źródła są odrzucane.

Narzędzia multimedialne i importu

Zmienna Domyślnie Co robi
RAINY_YTDLP_AUTO_UPDATE Włączona Utrzymuje yt-dlp w aktualnej wersji. Rainy sprawdza to mniej więcej co 12 godzin, gdy działa. Ustaw 0, aby przypiąć zainstalowaną wersję.
LASTFM_API_KEY Pusta Bezpłatny klucz API Last.fm do tagów, podobnych wykonawców i biogramów. Bez niego wzbogacanie danych z Last.fm jest pomijane, a MusicBrainz nadal jest używany.

Rainy potrzebuje ffmpeg do przetwarzania dźwięku oraz środowiska uruchomieniowego JavaScript do importów z YouTube. Obraz Dockera instaluje je automatycznie, a opisuje je strona instalacji.

Teksty i pokaz świateł

Zmienna Domyślnie Co robi
RAINY_WHISPER_MODEL base Model faster-whisper używany do dopasowywania tekstów do dźwięku. Większe modele są wolniejsze i dokładniejsze.
RAINY_LYRICS_LANG Nieustawiona Wymusza język dopasowywania tekstu, na przykład en. Gdy nie jest ustawiona, Rainy wykrywa go z dźwięku.
RAINY_LIGHTSHOW_DEVICE auto Miejsce, w którym działa analiza pokazu świateł. auto używa użytecznego GPU CUDA, a w razie braku przechodzi na procesor. cpu nigdy nie używa GPU. cuda używa użytecznego GPU z największą ilością pamięci, a w razie braku przechodzi na procesor. cuda:N używa GPU o numerze N, lub procesora, jeśli ta karta jest nieużyteczna.
RAINY_LIGHTSHOW_THREADS Rdzenie procesora, najwyżej 8 Wątki robocze procesora do analizy pokazu świateł. Wartość 0 lub wartość nieliczbowa oznacza wartość domyślną.

Konfigurację GPU i to, czego spodziewać się po każdej wartości urządzenia, opisuje akceleracja GPU.

Skrypty startowe i kontenery

Te ustawienia odczytują start.sh, start.bat lub pliki Dockera. Zmienne skryptów ustawiaj w powłoce. Zmienne używane tylko przez Compose ustawiaj w .env.

Zmienna Domyślnie Gdzie działa
PYTHON Wykrywana automatycznie start.sh. Interpreter używany do utworzenia .venv, akceptowany tylko wtedy, gdy jest to Python 3.11 lub nowszy.
RAINY_USE_GUNICORN 0 start.sh. Ustaw 1, aby obsługiwać ruch przez Gunicorn. To samo co przekazanie --gunicorn.
RAINY_GUNICORN_WORKERS 2 start.sh pod Gunicornem. Liczba procesów roboczych.
RAINY_GUNICORN_THREADS 4 start.sh pod Gunicornem. Wątki na proces roboczy.
RAINY_GUNICORN_TIMEOUT 120 start.sh pod Gunicornem. Liczba sekund, po której milczący proces roboczy zostaje uruchomiony ponownie.
DATABASE_INIT_MAX_ATTEMPTS 30 Punkt wejścia Dockera. Liczba prób utworzenia lub migracji schematu, co dwie sekundy, zanim kontener się podda.
RAINY_PORT 6969 Compose ustawia tym port hosta, a start.sh używa go jako portu Gunicorna, gdy RAINY_HTTP_PORT nie jest ustawiona.
MUSIC_LIBRARY_PATH ./music Tylko Compose. Folder na hoście montowany jako /music.
MYSQL_ROOT_PASSWORD Wymagana Tylko Compose. Hasło root dla dołączonej usługi MySQL.

Przy Docker Compose usługa app ustawia też MYSQL_HOST na dołączoną bazę danych oraz MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE i FLASK_SECRET_KEY. Każde inne ustawienie RAINY_* musi zostać dodane w app.environment w compose.yaml, aby zadziałało.

Powiązane