Files
pipu-music/deploy/.env.example
T
mrleo1nidandClaude Opus 5.5 8b76aa3964
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 55s
ci / ts / ts (packages + web) (push) Successful in 1m0s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 34s
ci / api / api (push) Successful in 26s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 34s
feat: album covers with palettes and signed links (M2)
- covers are taken from the embedded picture of the first track or a
  cover/folder/front image in the album folder, converted by ffmpeg to
  WebP 64/300/1200 and named by content hash, so albums sharing a cover
  share the files; a full scan looks again for albums without one
- a 3-colour palette (dominant, second, most saturated accent) from a
  deterministic k-means feeds placeholders, page tints and the wave
- /covers/{id} is public but HMAC-signed and immutable; nginx serves
  the file via X-Accel-Redirect, X_ACCEL=false serves it from api
- the web client picks the size by display size and pixel density
- install.sh and update.sh generate STREAM_SIGNING_KEY

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 07:06:15 +03:00

47 lines
2.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Скопируйте в .env (install.sh делает это сам и генерирует секреты). Описание — docs/deployment.md.
# --- Версия и данные ---
# PIPU_VERSION проставляет update.sh по git-тегу — вручную не менять
PIPU_VERSION=dev
PIPU_DATA=/srv/pipu
# Папка с музыкой на локальном диске сервера (источники type=local), например смонтированный диск.
# Пусто — $PIPU_DATA/library-host. NFS-хранилища сюда не относятся: их подключает админка.
LIBRARY_HOST=
# --- Домен и HTTPS (docs/install-guide.md) ---
# Вариант А: встроенный Caddy с Let's Encrypt — оставьте строку COMPOSE_FILE и заполните DOMAIN, ACME_EMAIL.
# Вариант Б: свой reverse proxy — закомментируйте COMPOSE_FILE и направьте прокси на HTTP_PORT.
COMPOSE_FILE=compose.yaml:compose.tls.yaml
DOMAIN=music.example.com
ACME_EMAIL=admin@example.com
HTTP_PORT=80
# --- Секреты (install.sh заполнит случайными значениями) ---
POSTGRES_PASSWORD=
MEILI_MASTER_KEY=
INTERNAL_TOKEN=
# Ключ подписи access-токенов (Ed25519, base64 от 32 случайных байт). install.sh и update.sh
# создают его, если строки нет. Смена ключа разлогинит всех на ≤15 мин — старый можно оставить
# в JWT_PREVIOUS_KEYS (через запятую), пока не истекут выданные им токены.
JWT_PRIVATE_KEY=
# Подпись ссылок на обложки и аудио (base64 от 32 байт); создают install.sh / update.sh.
STREAM_SIGNING_KEY=
#JWT_PREVIOUS_KEYS=
# --- Первый администратор (необязательно; иначе пароль генерируется и выводится в лог api один раз) ---
#BOOTSTRAP_ADMIN_USERNAME=admin
#BOOTSTRAP_ADMIN_PASSWORD=
# --- api / recommender ---
# DATABASE_URL собирается в compose.yaml из POSTGRES_PASSWORD
REDIS_URL=redis://redis:6379/0
MEILI_URL=http://meilisearch:7700
LOG_LEVEL=info
SUPPORTED_LOCALES=ru,en
MIN_ANDROID_VERSION_CODE=0
# --- Самообновление Android (M5) ---
GITEA_URL=https://git.example.lan
GITEA_REPO=owner/pipu-music
GITEA_TOKEN=