Bold indicates recommended environments.
-
- Docker Engine
>=20.10.0 - x64 / arm32v7 / arm64v8
- Ubuntu Server 24.10 / others
⚠️ Note: Desktop environments / VM are not supported and are unstable!
- Docker Engine
⚠️ Desktop environments / VMs are not supported. Reliability is reduced due to significant performance issues.⚠️ Ifpcscdis installed on the host, please disable it.- If you want to use the host's
pcscd:- Set the environment variable
DISABLE_PCSCD=1to disablepcscdin the container. - Mount
/var/run/pcscd/pcscd.comm:/var/run/pcscd/pcscd.comm.
- Set the environment variable
- If you want to use the host's
- If your tuner supports DVB drivers, this is the easiest method.
- If tuner configuration is empty when running the setup command, tuners will be automatically detected and saved.
- No recording commands need to be prepared.
- The following tuners are usually included in the Linux kernel, but some lightweight distributions like Raspberry Pi OS may require building modules. Please enable and build the necessary modules:
- PT1, PT2:
earth-pt1 - PT3:
earth-pt3 - PX-S1UD:
smsusb - Others (will be updated as reports come in)
- PT1, PT2:
# Check DVB device recognition
ls -l /dev/dvb- If DVB cannot be used, you can use the traditional chardev method.
# Example of building with a startup script
mkdir -p /opt/mirakurun/opt/bin
vim /opt/mirakurun/opt/bin/startup # Example ↓
chmod +x /opt/mirakurun/opt/bin/startup#!/bin/bash
if !(type "recpt1" > /dev/null 2>&1); then
apt-get update
apt-get install -y --no-install-recommends git autoconf automake
mkdir /buildwork
cd /buildwork
git clone https://github.com/stz2012/recpt1.git
cd recpt1/recpt1
./autogen.sh
./configure --prefix /opt
make
make install
rm -rf /buildwork
fi
recpt1 -v# You can run and check the startup script with the following command (server will not start)
docker compose run --rm -e SETUP=true mirakurun# When not dependent on shared libraries
cp /usr/local/bin/something-static /opt/mirakurun/opt/bin/# For a new machine
curl -sSL https://get.docker.com/ | CHANNEL=stable sh# Create: /opt/mirakurun/
sudo mv -vf /usr/local/mirakurun /opt/mirakurun
sudo mkdir -p /opt/mirakurun/run /opt/mirakurun/opt /opt/mirakurun/config /opt/mirakurun/data
# Installation
mkdir ~/mirakurun/
cd ~/mirakurun/
wget https://raw.githubusercontent.com/Chinachu/Mirakurun/refs/heads/release/4.0.0/docker/docker-compose.yml
docker compose pull
docker compose run --rm -e SETUP=true mirakurun
docker compose up -d
# Uninstallation
cd ~/mirakurun/
docker compose down --rmi all
# Update
cd ~/mirakurun/
docker compose down --rmi all
docker compose pull
docker compose up -dcd ~/mirakurun/
# Start
docker compose up -d
# Stop
docker compose down
# Restart
docker compose up -d --force-recreatecd ~/mirakurun/
docker compose logs [-f]- Major settings can be changed from the Web UI
- For all settings, refer to Configuration.md
vim /opt/mirakurun/config/server.yml
vim /opt/mirakurun/config/tuners.yml
vim /opt/mirakurun/config/channels.yml
- Socket:
/var/run/mirakurun.sock - Configuration:
/app-config/server.ymltuners.ymlchannels.yml
- Data:
/app-data/services.jsonprograms.json
- Opt:
/opt/bin/bin/startup- Custom startup script (optional)
- Socket:
/opt/mirakurun/run/mirakurun.sock - Configuration:
/opt/mirakurun/config/server.ymltuners.ymlchannels.yml
- Data:
/opt/mirakurun/data/services.jsonprograms.json
- Opt:
/opt/mirakurun/opt/bin/bin/startup- Custom startup script (optional)
This method is not recommended but is kept for some older use cases. Special code supporting PM2 has already been removed, and the experience is degraded.
# New installation
git clone git@github.com:Chinachu/Mirakurun.git
cd Mirakurun
git submodule update --init --recursive
npm install
npm run build
npm install pm2 -g
pm2 startup
# Start
pm2 start processes.json
pm2 save
# Stop
pm2 stop processes.json
pm2 save
# Update
git pull
npm run clean
npm run build
pm2 restart processes.json
# Uninstall
pm2 delete processes.json
pm2 save- Socket:
/var/run/mirakurun.sock - Configuration:
/usr/local/etc/mirakurun/server.ymltuners.ymlchannels.yml
- Data:
/usr/local/var/db/mirakurun/services.jsonprograms.json
- Logs:
/usr/local/var/log/mirakurun.stdout.log- Normal logsmirakurun.stderr.log- Error logs