Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,18 @@ jobs:
- run: for f in static/js/*.js; do node --check "$f"; done
- run: for f in tests/js/*.test.mjs; do node "$f"; done

# The Linux installer only ever runs on a user's machine, so nothing else
# would catch a regression in it. Runs on a real Linux image rather than the
# macOS bash used during development.
linux-installer:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7.0.1
- run: bash -n packaging/linux/install.sh
- run: sudo apt-get update && sudo apt-get install -y --no-install-recommends shellcheck desktop-file-utils
- run: shellcheck -S warning packaging/linux/install.sh
- run: bash tests/linux/test_install_sh.sh

sast-bandit:
runs-on: ubuntu-latest
container:
Expand Down
32 changes: 30 additions & 2 deletions packaging/linux/README-LINUX.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,33 @@ Run
./StemDeck
4. Let first-run setup prepare local runtime assets.

Nothing needs installing: this folder can be moved or deleted at will.

Optional: add a desktop launcher
--------------------------------

If you would rather launch StemDeck from your applications menu than from a
terminal, run the installer that ships in this folder:

./install.sh

It copies this folder to a fixed location and adds an icon and a menu entry.
It never downloads anything; the version and the CPU/NVIDIA variant come from
the package you already extracted.

./install.sh --local just me (~/.local/opt/stemdeck)
./install.sh --global all users (/opt/stemdeck, needs sudo)
./install.sh --prefix DIR somewhere else
./install.sh --uninstall remove it again
./install.sh --help all options

To upgrade, extract the new tarball and run ./install.sh from it. It reuses the
location you chose and replaces the old copy only once the new one is verified,
so a failed upgrade leaves the working version alone.

Uninstalling removes the application only. Your stem library and settings live
outside the install directory and are never touched.

Prerequisites
-------------

Expand Down Expand Up @@ -57,8 +84,9 @@ the CUDA download entirely.
Notes
-----

- This is a portable folder, not a system package. No .desktop entry, service,
or package-manager integration is created.
- This is a portable folder, not a system package. Running it in place creates
no .desktop entry, service, or package-manager integration; ./install.sh adds
a launcher and icon if you want them.
- User data lives under $XDG_DATA_HOME/stemdeck (or ~/.local/share/stemdeck).
- Your stem library is written to ~/Documents/StemDeck/.
- Demucs model weights download from the backend on first use into the data
Expand Down
Loading