Install Matinee
Matinee runs on Linux and macOS, on amd64 and arm64 (and armv7 for older NAS boxes and Raspberry Pis). On Windows, run it in Docker. Pick whichever way of installing suits the machine. Every option ends the same way: open http://<your server>:7171 in a browser and finish setup.
Docker
Section titled “Docker”docker run -d --name matinee -p 7171:7171 \ -v ./data:/data \ -v /path/to/movies:/media/movies:ro \ -v /path/to/tv:/media/tv:ro \ -v /path/to/music:/media/music:ro \ ghcr.io/yeixio/matinee:latest/dataholds Matinee’s database, its image cache and scratch space for converting video. Keep it on a local disk.- Mount each media folder read-only under
/media. You pick these folders in Matinee later. - The image includes FFmpeg with every Linux hardware backend. To use a GPU, see Hardware transcoding.
There’s a docker-compose.yml in the repository if you prefer Compose.
Debian and Ubuntu
Section titled “Debian and Ubuntu”sudo install -d -m 0755 /etc/apt/keyringscurl -fsSL https://raw.githubusercontent.com/yeixio/matinee/packages/matinee.asc | sudo tee /etc/apt/keyrings/matinee.asc > /dev/nullecho "deb [signed-by=/etc/apt/keyrings/matinee.asc] https://raw.githubusercontent.com/yeixio/matinee/packages/apt stable main" | sudo tee /etc/apt/sources.list.d/matinee.listsudo apt-get update && sudo apt-get install matineeFedora, RHEL and friends
Section titled “Fedora, RHEL and friends”sudo curl -fsSL https://raw.githubusercontent.com/yeixio/matinee/packages/matinee.repo -o /etc/yum.repos.d/matinee.reposudo dnf install matineeFedora’s own ffmpeg-free satisfies the FFmpeg dependency. On RHEL, Rocky and Alma, enable EPEL and RPM Fusion first.
What the packages set up
Section titled “What the packages set up”Both packages (amd64 and arm64, plus armhf for apt) install a matinee service that starts right away and on every boot.
| Runs as | the matinee user, which is also in the render and video groups for hardware transcoding |
| Data | /var/lib/matinee |
| Settings | /etc/matinee/matinee.env, then sudo systemctl restart matinee |
| Logs | journalctl -u matinee |
If the matinee user can’t read a network share, mount the share with that user’s permissions or add the user to the share’s group.
The repositories and packages are signed with the key “Matinee packages <hello@yeix.io>”, fingerprint 4EE3 3F8C EE07 6BB0 C9A7 C559 21F5 BE9F 726A 2895.
macOS and Linux with Homebrew
Section titled “macOS and Linux with Homebrew”brew tap yeixio/matinee https://github.com/yeixio/matineebrew install yeixio/matinee/matineebrew services start matineeThen open http://localhost:7171. Settings go in $(brew --prefix)/etc/matinee/matinee.env (then brew services restart matinee), and data lives in $(brew --prefix)/var/matinee.
Kubernetes
Section titled “Kubernetes”helm install matinee oci://ghcr.io/yeixio/charts/matinee -f my-values.yamlThe chart bundles PostgreSQL and generates its password on first install, so there’s nothing to set up and it works the same under Argo CD or Flux. Mount your media read-only through media: in your values. Kubernetes has the details.
From source
Section titled “From source”You need Go 1.26 or newer, Node 22 with pnpm, and FFmpeg.
git clone https://github.com/yeixio/matineecd matineemake run # builds the web player and the server, then serves on :7171