Короче, в какой-то момент я понял, что моя музыка и аудиокниги живут буквально везде: на компьютере, телефоне, старом телефоне, флешках и где-то еще в недрах NAS. Каждый раз, когда хотелось что-нибудь послушать, начинался небольшой квест: "А где, блин, этот файл?"
И я подумал: а почему бы не сделать штуку, которая просто хранит мою коллекцию в одном месте и дает слушать ее откуда угодно? Так постепенно появился Тарахтело.
Это небольшой веб-плеер и сервер для личной коллекции музыки и аудиокниг.
Идея максимально простая:
Закинул файл на сервер -> открыл плеер на телефоне, телевизоре или везде где есть браузер -> слушаешь.
Никаких музыкальных подписок, рекомендаций "вам может понравиться" и прочего. Просто мои файлы, которые я сам туда положил.
Причем оказалось, что для аудиокниг такая штука тоже довольно удобная. Можно разложить книги по папкам, сохранить порядок глав, а плеер запоминает, где я остановился.
То есть вечером послушал полчаса, выключил телефон и пошел спать. Через несколько дней открыл снова и продолжил примерно с того же места.
Тарахтело написан на
PHP и работает без базы данных.
Изначально я специально хотел сделать все максимально простым. Не хотелось превращать установку небольшого домашнего плеера в отдельный DevOps-проект с Docker, десятком контейнеров и инструкцией на 40 страниц. Получилось примерно так: загрузил файлы на сервер, запустил установщик и пользуешься. Это еще и означает, что проект можно разместить на довольно обычном хостинге, если там есть PHP и работа с файлами.
Онлайн и офлайн Плеер работает как PWA, поэтому его можно установить на телефон практически как обычное приложение.
В обычном режиме музыка играет с сервера. А если хочется слушать без интернета, коллекцию можно сохранить на телефон и пользоваться локальной копией. Есть автоматический режим синхронизации и ручной, когда сам решаешь, что именно скачать.
И еще одна штука, которая для меня оказалась неожиданно важной:
плеер нормально продолжает играть при выключенном экране. В общем, это не попытка сделать новый Spotify. Я просто однажды решил разобраться с собственным бардаком из музыкальных файлов, а в результате написал себе целый музыкальный сервер.

Если кому-нибудь окажется полезно или просто интересно посмотреть, что из этого получилось:
https://github.com/predteche/tarahteloТестируйте и комментируйте.