Self-host

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]:

  1. Docker: The installer checks that Docker and Docker Compose v2 are installed and running.
  2. Your M3UTool key: Paste your key when it asks Paste your key: and press Enter. The installer checks it with M3UTool.
  3. M3UTool program: The dontv program is installed to ~/.local/bin/dontv and checked.
  4. The M3UTool editor: The editor is downloaded (about 400 MB) and checked.
  5. 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.

Tip: When the installer says ~/.local/bin is not in your PATH, add it, or type the full path: ~/.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

CommandWhat it does
dontv openOpens the editor in your browser, signed in.
dontv windowThe same, in its own window.
dontv linkPrints a sign-in link for another device. It works once, for 10 minutes.
dontv infoShows the editor address and your customer address.
dontv statusShows what is running, and both addresses.
dontv startStarts M3UTool in the background.
dontv stopStops M3UTool. Your data is kept.
dontv updateFetches the newest version and restarts. Your data is kept.
dontv logs -fFollows what M3UTool is doing. Press Ctrl+C to stop following.
dontv trayShows 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.

Note: KDE shows the icon straight away. GNOME needs the extension AppIndicator and KStatusNotifierItem Support first.

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.

  1. Keep the editor on the server: In ~/.local/share/dontv/.env, set EDITOR_PORT=127.0.0.1:8081, then run dontv update. The editor now only answers on the server itself.
  2. Open a tunnel: On your own computer, run ssh -L 8081:localhost:8081 you@your-server.
  3. Get a link: In that SSH session, run dontv link.
  4. Open the link: Open the link in the browser on your own computer, with localhost in place of the server address, for example http://localhost:8081/auth/selfhost?t=….
Important: Use 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

Pictures show made-up demo channels and Blender open movies (© Blender Foundation, CC BY).