Install on Linux
One command installs M3UTool self-host on a Linux computer or server and starts it in the background. Keep your M3UTool key ready (see Requirements). Follow these steps to install M3UTool self-host on Linux.
Step 1: Install Docker
Skip this step when Docker is already installed. Otherwise install Docker Engine with Docker's own script:
curl -fsSL https://get.docker.com | sh
Then allow your user to use Docker, and log out and back in so it takes effect:
sudo usermod -aG docker $USER
Step 2: Run the installer
curl -fsSL https://editor.dontv.shop/selfhost/install.sh | sh
The installer walks through five steps, shown as [1/5] to [5/5]:
- Docker: The installer checks that Docker and Docker Compose v2 are installed and running.
- Your M3UTool key: Paste your key when it asks
Paste your key:and press Enter. The installer checks it with M3UTool. - M3UTool program: The
dontvprogram is installed to~/.local/bin/dontvand checked. - The M3UTool editor: The editor is downloaded (about 400 MB) and checked.
- Starting M3UTool: M3UTool starts in the background.
At the end a box shows the Server address for your customers' players and the everyday commands. Under the box the installer prints a link that opens the editor, signed in. The link works once, for 10 minutes, from any device on your network.
Next: First sign-in.
~/.local/bin/dontv status.Install without questions
To install on a server without typing the key into the prompt, hand the key to the installer:
curl -fsSL https://editor.dontv.shop/selfhost/install.sh | DONTV_KEY=dontv_yourkey sh
Replace dontv_yourkey with your own key.
Everyday commands
| Command | What it does |
|---|---|
dontv open | Opens the editor in your browser, signed in. |
dontv window | The same, in its own window. |
dontv link | Prints a sign-in link for another device. It works once, for 10 minutes. |
dontv info | Shows the editor address and your customer address. |
dontv status | Shows what is running, and both addresses. |
dontv start | Starts M3UTool in the background. |
dontv stop | Stops M3UTool. Your data is kept. |
dontv update | Fetches the newest version and restarts. Your data is kept. |
dontv logs -f | Follows what M3UTool is doing. Press Ctrl+C to stop following. |
dontv tray | Shows the M3UTool icon on a Linux desktop. |
Your data and settings are in ~/.local/share/dontv.
An M3UTool icon on a Linux desktop
Run dontv tray to get the same icon and menu as on Windows (see Install on Windows). In its menu, Start at login starts M3UTool when you log in.
On a server
The editor asks for your M3UTool password, and whoever holds a sign-in link gets in too (links only come from the dontv program on the server). On a server, keep the editor port away from the internet and reach the editor through an SSH tunnel.
- Keep the editor on the server: In
~/.local/share/dontv/.env, setEDITOR_PORT=127.0.0.1:8081, then rundontv update. The editor now only answers on the server itself. - Open a tunnel: On your own computer, run
ssh -L 8081:localhost:8081 you@your-server. - Get a link: In that SSH session, run
dontv link. - Open the link: Open the link in the browser on your own computer, with
localhostin place of the server address, for examplehttp://localhost:8081/auth/selfhost?t=….
127.0.0.1:8081 rather than a firewall rule alone. This is so that the editor stays closed: Docker opens its ports past some Linux firewalls, such as ufw.Troubleshooting
- Docker is installed but not running: Start it with
sudo systemctl start docker, then run the installer again. - Your user may not use Docker: Run
sudo usermod -aG docker $USER, log out and back in, and run the installer again. You can also run the installer with sudo (curl -fsSL https://editor.dontv.shop/selfhost/install.sh | sudo sh). The program then lives in/root/.local/binand your data in/root/.local/share/dontv, so every command needs sudo and the full path, for examplesudo /root/.local/bin/dontv status. - Docker Compose v2 is missing: Install the package
docker-compose-plugin, or install Docker again with the script from Step 1. - Anything else: Run
dontv logs -fand look at the last lines. More in Self-host FAQ.