DeckTube — Setup on Steam Deck

Option A — double-click installer (closest thing to a real installer)

Download Install-DeckTube.desktop

Linux won't let a downloaded file silently run itself — that's a deliberate security boundary, not a missing feature — so there's one one-time step before double-click works:

  1. Downloads it to ~/Downloads.
  2. Right-click it in the file manager → Properties → Permissions → tick "Is executable" (or you may just get a "trust this program?" prompt the first time you open it — accept it).
  3. From then on, double-click it and it downloads, installs, and launches DeckTube in one go — a terminal window shows progress.

Option B — one line in a terminal

In Desktop Mode → Konsole on the Deck, run this:

curl -sL https://decktube.irishdeveloper.dev/setup.sh | bash

Both options run the exact same script. This downloads DeckTube, installs Node.js if it's missing, installs dependencies, and starts the app. (Worth a quick look at what you're running — the script is at that same URL, plain text, readable in a browser first if you want.)

Already installed it? Updating to the latest version

Download Update-DeckTube.desktop

Same one-time trust step as the installer above (Properties → Permissions → "Is executable"), then double-click any time to update. Or, one line in Konsole:

curl -sL https://decktube.irishdeveloper.dev/update.sh | bash

This pulls the latest code and reinstalls dependencies, but leaves the existing node_modules alone — so unlike the full installer, it's fast (no re-downloading Electron) unless a dependency actually changed.

Just want to relaunch without updating?

cd ~/Downloads/decktube
npm start

Option C — prefer to do it manually? Same steps, one at a time:

Download decktube.zip

1. Extract the zip

cd ~/Downloads
unzip decktube.zip -d decktube
cd decktube

2. Check for Node.js/npm

SteamOS doesn't ship with Node by default:

node --version
npm --version

If that says "command not found", install a portable Node build below. This avoids touching SteamOS's read-only system partition, which is the safe way to add dev tools here.

cd ~
curl -O https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.xz
tar -xf node-v22.14.0-linux-x64.tar.xz
echo 'export PATH="$HOME/node-v22.14.0-linux-x64/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
node --version

Node releases move on over time — if the curl line 404s, grab the current LTS tarball URL from nodejs.org/en/download and swap it in.

3. Install and run

cd ~/Downloads/decktube
npm install
npm start

A window should open loading youtube.com — use the trackpad like a mouse to navigate.

Signing in

Signing in from inside DeckTube's own window won't work — Google blocks OAuth/sign-in from embedded browsers by policy (confirmed by logs showing a 403 on the very first step). Their guidance is to authenticate via a real browser instead, so DeckTube pulls your session straight out of the Deck's own Firefox automatically — no extension, no manual export:

  1. In the Deck's own Firefox (Desktop Mode), sign into youtube.com/google.com normally, the way you always would.
  2. Close Firefox (it locks its cookie database while running).
  3. Run this in Konsole:
    curl -sL https://decktube.irishdeveloper.dev/import-firefox-session.py | python3
  4. (Re)start DeckTube — it reads the imported session automatically on startup.

This reads cookies directly from Firefox's own profile on this device — nothing leaves the Deck, and no separate account/extension setup is needed.