Web based media library for children. Made for the Raspberry Pi 7" Touchscreen.
- provide a children friendly touch interface for browsing and listening to music and audio books
- make it work on the Raspberry PI Model 3 B together with the 7" Touchscreen
- make it work on the included Chromium from Raspbian in kiosk mode
- make it startup on boot and prevent escaping (escaping should only be possible with a keyboard)
- make it read directories from a list of library folders (including external storages)
- make it automaticly use existing cover art images
- make it shutdown system after user action
- make it work completly offline
- provide a CLI to rescan library folder(s) and stop/start/maintain it
- allow browsing and swiping through image galleries
- allow adding podcasts using RSS feeds
- allow browsing and viewing of videos
Copy config.example.json
to config.json
and adjust to your needs.
{
// list of paths to audio libraries
"library": "/media/pi",
// port at which the server should run
"port": 8000
}
See this guide on getting bluetooth audio work on the Raspberry PI.
LIBRARY_PATHS=~/Music,~/Photos,~/Videos docker-compose up --build
Then in a second terminal do the following to scan the music library
docker-compose exec app
cargo run --bin cli scan
Now open your browser pointing to http://localhost:8000
.
Do the configuration from above and then run:
cargo run --bin cli scan
cargo run --bin server
This will scan the library and then start the server.
Now open your browser pointing to http://localhost:8000
.
To rescan the media library run:
cargo run --bin cli scan
It is recommended to add the cargo run --bin cli scan
to a cron job or trigger it manually once you've added/changed the media library.
You must have rasbian installed on your Raspberry Pi.
Do the configuration from above and then run:
./raspi/setup.sh
sudo reboot
This will install all dependencies and make the audio library start on boot in kiosk mode.
You can add podcasts that provide RSS feeds. For this to work you must create a top level folder (e.g. "Podcasts") in your library.
Within that folder create *.podcast files and copy the URLs to the podcast RSS feeds into that file. One URL per line.
Icons by fontawesome under the Font Awesome License.