⚠ 🔴 This code is no longer maintained. It has been forked here, where the most up-to-date version can be found. 🔴 ⚠
This application assumes it runs on Linux using Alsa.
python3
, python3-pip
, libmpv-dev
, alsa-utils
, libpulse0
, xdg-utils
- Clone the repo
- Move config.py.example to config.py and edit it 😎
- To add a favicon, place it in the
jukebox/static
folder - Install requirements using
pip install -r requirements.txt
$ git clone https://github.com/matthias4217/jukebox-ultra-nrv.git
$ cd jukebox-ultra-nrv
$ pip install -r requirements.txt
$ cp config.py.example config.py
$ <edit config.py>
$ <optionally add a favicon.ico>
$ python3 run.py
$ python3 run.py
or with a systemd service jukebox (currently very buggy)
$ systemctl start jukebox.service
This application can be used with docker.
It is for now a bit of an experiment : using sound with Docker is a bit tricky.
Thus you need to ensure the file /etc/modprobe.d/default.conf
exists and is set to options snd_hda_intel index=1
.
The Dockerfile
and docker-compose.yml
should do the rest.
One problem still is that if another application uses sound, the Jukebox will fail to play music.
In case of any sound problem, please open an issue.
The current use of this application is only among a "friendly" and local network.
As such, we haven't yet focused much on security.
The passwords are stored using pbkdf2_sha256 from library passlib
.
If you are using a systemctl service.
Check if the service is properly running :
$ sudo systemctl status jukebox
Check the logs :
$ sudo journalctl -u jukebox.service
Check the installed youtube-dl version, and update it if necessary.
Tracks may be marked as obsolete. These won't be displayed in the suggestions column. Tracks become outdated if the source is youtube, and youtube-dl returns an "Error: Track not found.". This means that the track doesn't exist on Youtube (it may have been removed, or is unavailable for any reason). An obsolete track may become non-obsolete again if you refresh its metadata and Youtube doesn't return the previous error. To do this, you can simply search the track in the search engine.
For the logs, please use app.logger.info
, app.logger.warning
or app.logger.error
.
This project uses Fontawesome icons, which underare Creative Commons Attribution 4.0 International license. The complete license can be found here.