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 jakRAINY_PORTiMUSIC_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śliMYSQL_USERnie jest ustawiona, Rainy łączy się jakoroot. 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.