Files
pipu-music/docs
mrleo1nidandClaude Opus 5.5 85fceaa686
ci / api / api (push) Successful in 50s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Failing after 10s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Failing after 31m43s
ci / db / db (push) Failing after 19s
fix(storage-agent): write nothing but the music files to the mounted storage
- Imported tracks are created directly under their final name with
  O_EXCL (never overwriting; " (2)" on conflict), fsync'ed and checked
  against SHA-256 — no hidden .pipu-tmp file next to them any more.
- On any failure the agent removes its own partial file and the empty
  directories it created for it.
- The write check uses access(W_OK) and the read-only mount flag instead
  of creating and deleting .pipu-write-test in the storage root.
- Tests assert the storage tree holds only audio files after successful
  and failed writes and after the write check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:22:49 +03:00
..

Документация Pipu Music

Pipu Music — self-hosted музыкальный сервис (веб + Android) с умной бесконечной лентой «Моя волна».

Карта документов

Документ О чём
IDEA.md Исходная идея продукта глазами пользователя (вход для дизайна)
design.md Дизайн-система (токены, шрифты, анимация), кнопка волны, решения по вариантам прототипа, ссылки на макеты
architecture.md Общая архитектура, компоненты, потоки данных, структура репозитория
decisions.md ADR — принятые архитектурные решения и их обоснование
data-model.md Схема БД PostgreSQL
api.md REST API: соглашения, эндпоинты, ошибки
auth-and-roles.md Аутентификация, токены, роли и права, первый запуск
library-and-storage.md Хранилища (NFS), шаблоны путей, сканер, метаданные, поиск
uploads.md Предложение треков модераторами: очередь, квота, дубли, одобрение, раскладка в хранилище
playback.md Стриминг, транскодинг, состояние плеера, офлайн
recommendations.md Рекомендательная система и «Моя волна»
web.md Веб-клиент
mobile.md Android-приложение, офлайн, самообновление
i18n.md Локализация (ru / en, расширяемость)
testing.md Стратегия тестирования
ci-cd.md Gitea Actions: проверки и релиз по тегу
install-guide.md Пошагово: установка сервера на домен с HTTPS, подключение веба и Android
deployment.md Справочник по развёртыванию: сервисы, каталоги, переменные, бэкапы
conventions.md Соглашения по коду, git, версиям
roadmap.md Этапы разработки и критерии готовности

Стек в одном абзаце

Backend API — Go; рекомендации и аудиоанализ — Python; БД — PostgreSQL + pgvector; поиск — Meilisearch; кэш / очереди событий — Redis; раздача аудио — nginx (X-Accel-Redirect); веб — React + TypeScript + Vite; мобильное — React Native (Expo, Android); монорепо — pnpm + Turborepo; CI/CD — Gitea Actions; деплой — Docker Compose.