aboutsummaryrefslogtreecommitdiff

canap

media player control from your couch

canap is a minimal mediacenter solution with only a web interface and no screen controls. It is actually a mpv remote.

Runtime dependencies

  • python3-aiohttp
  • mpv >= 0.37
  • ffprobe

What may be on the roadmap

  • playlists
  • webradios
  • music style media search (artist, album, etc.)
  • uPnP Control point interface
  • dbus Media control
  • uPnP Media server

Technical decisions

  • Few deps.
  • Compatible with DFSG.
  • No JS framework, no JS/CSS compilation (unless demonstration of delivered
  • substancial user functionality)

Running

Overview

canap is provided as a Debian package. It can also run from source with:

python3 -m canap.cmdline daemon

The package provides systemd configurations to run canap. Once installed at the right locations, it can help having canap ready at boot time.

Existing user session

If running canap in your current user session, simply enable it:

systemctl --user enable canap
systemctl --user start canap

Standalone session started at boot

If running canap on a dedicated screen, enable the _canap system user session and corresponding user units for wayland compositor:

sudo systemctl enable canap-session
sudo systemctl -M _canap@ --user enable canap-wayland.socket
sudo systemctl -M _canap@ --user start canap-wayland.socket
sudo systemctl -M _canap@ --user enable canap
sudo systemctl -M _canap@ --user start canap

Note: As far as explored, running canap and required Wayland server as system services is not practical regarding logind seat allocation and permissions. Therfore, everything is running in a user session.