MarketDeck docs
Install via shell
One-liner installer for macOS and Linux — fetches the latest release, drops the binary on your PATH. The simplest install path.
The fastest way onto MarketDeck. A single shell command grabs the latest release for your OS / architecture, extracts it under ~/.local/share/marketdeck, and symlinks ~/.local/bin/marketdeck so the CLI is on your PATH immediately. No clone, no npm install, no native rebuild.
This is the recommended path for most users — pick npm or source only if you want the install rooted in your Node global prefix or a working tree you can edit.
What you need#
- macOS or Linux. (Windows: see the PowerShell installer below.)
- Node.js 20+ on
PATH. The installer ships the JS bundle and the nativebetter-sqlite3.node, but the interpreter itself is yours. curl. Already there on every supported distro and on macOS ≥ 10.15.
Verify Node:
node --version # should report v20.x or higher
If you don't have Node 20+ yet, the cleanest path is nvm on Linux/macOS:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
Install#
curl -sSL https://marketdeck.io/install.sh | sh
That's it. The script:
- Detects your OS (
linux/darwin) and architecture (x64/arm64). - Resolves the latest version from the public Gitea releases feed.
- Downloads
marketdeck-<version>-<platform>-<arch>.tar.gz. - Extracts into
$MARKETDECK_PREFIX(default~/.local/share/marketdeck). - Symlinks
$MARKETDECK_BIN_DIR/marketdeck(default~/.local/bin/marketdeck). - Prints a
PATHwarning if the bin dir isn't on yourPATHyet.
If ~/.local/bin isn't on your PATH (some minimal distros), add this to your shell init (~/.profile, ~/.bashrc, ~/.zshrc, …):
export PATH="$HOME/.local/bin:$PATH"
Open a new shell and you're set.
Pinning a version#
The installer reads MARKETDECK_VERSION from the environment, so you can pin to a specific release instead of always pulling latest:
curl -sSL https://marketdeck.io/install.sh | MARKETDECK_VERSION=0.3.1 sh
Air-gapped install#
If the machine can't reach git.marketdeck.io, download the tarball on a connected box, copy it across, then run the installer with the local path:
curl -sSL https://marketdeck.io/install.sh \
| sh -s -- /path/to/marketdeck-0.3.1-linux-x64.tar.gz
The installer skips its own download step when the first argument points to a readable tarball.
Custom install location#
Both prefix and bin dir respect environment overrides:
curl -sSL https://marketdeck.io/install.sh | \
MARKETDECK_PREFIX="$HOME/opt/marketdeck" \
MARKETDECK_BIN_DIR="$HOME/opt/bin" sh
Useful for system-wide installs (MARKETDECK_PREFIX=/opt/marketdeck, MARKETDECK_BIN_DIR=/usr/local/bin, run with sudo) or when you want to keep MarketDeck out of ~/.local.
Verify#
which marketdeck
marketdeck version
marketdeck doctor
marketdeck doctor is the canonical "is my install healthy" check — it walks every prerequisite, the keyring, available exchanges and the feed daemon. See the doctor reference.
Update#
Re-run the same one-liner. The installer wipes the old prefix tree before extracting, so a stale better-sqlite3 .node after an ABI bump can't shadow the new one:
curl -sSL https://marketdeck.io/install.sh | sh
User state under ~/.local/share/marketdeck/ and ~/.config/marketdeck/ is left intact across upgrades.
Uninstall#
rm -rf ~/.local/share/marketdeck
rm -f ~/.local/bin/marketdeck
To wipe state too:
rm -rf ~/.local/share/marketdeck ~/.config/marketdeck ~/.cache/marketdeck
Windows PowerShell#
The shell installer is macOS / Linux only. On Windows there's an equivalent PowerShell one-liner that downloads the win32-x64 release and adds the bin dir to your user PATH:
irm https://marketdeck.io/install.ps1 | iex
Same shape — MARKETDECK_VERSION, MARKETDECK_PREFIX, and MARKETDECK_BIN_DIR work as PowerShell parameters too:
irm https://marketdeck.io/install.ps1 -OutFile install.ps1
.\install.ps1 -Version 0.3.1 -Prefix C:\opt\marketdeck
Troubleshooting#
install.sh: unsupported OS …— the installer only shipslinuxanddarwintarballs. Use the npm install or from source routes on other Unixes.install.sh: node 20+ required— bump Node to 20+ first via your package manager or nvm; then re-run the one-liner.download failed— checkgit.marketdeck.iois reachable (curl -I https://git.marketdeck.io). Behind a proxy?https_proxy=… curl … | sh.$BIN_DIR is NOT on your PATH— that's the warning the installer prints when~/.local/binisn't on yourPATHyet. Add theexport PATH=…line above to your shell init and re-open the shell.
Related#
- Install via npm — for users in a Node-heavy workflow.
- Install from source — for contributors.
marketdeck doctor- Setup