This guide covers installation and configuration on various platforms.
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash# Download and run with version flag
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -v v0.22.0Note:
--separates bash options from script options. Without it,-vwould be interpreted by bash instead of the script.
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -d ~/bin# Preview actions without executing
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -n# Overwrite existing same version
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -f# Show detailed debug info
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -V| Platform | Architecture | Support |
|---|---|---|
| Linux | amd64, arm64 | ✅ |
| macOS | amd64 (Intel), arm64 (Apple Silicon) | ✅ |
| Windows | WSL2 | ✅ |
Dependencies:
curlorwgettar(Linux/macOS) orunzip(Windows)
| Option | Description |
|---|---|
-v, --version |
Specify version (default: latest) |
-d, --dir |
Install directory (default: /usr/local/bin) |
-c, --config |
Generate config files only |
-u, --uninstall |
Uninstall HotPlex |
-f, --force |
Force reinstall |
-n, --dry-run |
Dry run mode, show actions without executing |
-q, --quiet |
Quiet mode |
-V, --verbose |
Verbose output |
--skip-verify |
Skip checksum verification |
--skip-wizard |
Skip post-install setup wizard |
--non-interactive |
Non-interactive mode |
-h, --help |
Show help |
--version |
Show script version |
Download from Releases:
# Linux amd64
curl -LO https://github.com/hrygo/hotplex/releases/download/v0.33.0/hotplex_0.33.0_linux_amd64.tar.gz
# macOS arm64 (Apple Silicon)
curl -LO https://github.com/hrygo/hotplex/releases/download/v0.33.0/hotplex_0.33.0_darwin_arm64.tar.gztar -xzf hotplex_0.33.0_linux_amd64.tar.gz
sudo mv hotplexd /usr/local/bin/
sudo chmod +x /usr/local/bin/hotplexdhotplexd version# Generate config files only
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -cConfig file is created by default at ~/.config/hotplex/.env (XDG standard path)
Edit ~/.config/hotplex/.env:
# API security token (required for production)
HOTPLEX_API_KEY=your-secure-api-key
# Slack Bot config
HOTPLEX_SLACK_PRIMARY_OWNER=UXXXXXXXXXX
HOTPLEX_SLACK_BOT_USER_ID=UXXXXXXXXXX
HOTPLEX_SLACK_BOT_TOKEN=xoxb-your-token
HOTPLEX_SLACK_APP_TOKEN=xapp-your-token
# GitHub Token (for Git operations)
GITHUB_TOKEN=ghp_your-tokenHotPlex follows the XDG specification and searches for config in this order:
- Path specified by
--env-fileflag - Path specified by
ENV_FILEenvironment variable .envin current directory~/.config/hotplex/.env(standard path on macOS/Linux)
# Default config (auto-searches for .env and server.yaml)
hotplexd start
# Specify config files explicitly
hotplexd start --env-file ~/.config/hotplex/.env --config ~/.config/hotplex/server.yaml
# Show help
hotplexd start --help# Pull image (choose your stack: base, node, python, rust, java, or full)
docker pull ghcr.io/hrygo/hotplex:node
# Run container
docker run -d \
--name hotplex \
-p 8080:8080 \
-p 9080:9080 \
-v ~/.config/hotplex:/root/.hotplex \
-v ~/projects:/root/projects \
-e HOTPLEX_ADMIN_PORT=9080 \
-e HOTPLEX_API_KEY=your-secure-api-key \
ghcr.io/hrygo/hotplex:nodePorts:
8080: Main WebSocket/HTTP API server9080: Admin API for session management and diagnostics
After starting the container, use docker exec to run CLI commands:
# Check version
docker exec hotplex hotplexd version
# List active sessions
docker exec hotplex hotplexd session list
# Run diagnostics
docker exec hotplex hotplexd doctor
# Validate config
docker exec hotplex hotplexd config validate /root/.hotplex/config.yaml
# Terminate a session
docker exec hotplex hotplexd --admin-token=your-token session kill <session-id>curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash -s -- -uOr manual removal:
sudo rm /usr/local/bin/hotplexd
# Optional: remove config
rm -rf ~/.config/hotplexIf installing to /usr/local/bin fails:
# Use sudo
curl -sL ... | sudo bash
# Or install to user directory
curl -sL ... | bash -s -- -d ~/.local/binEnsure install directory is in PATH:
echo $PATH
# Add to ~/.bashrc or ~/.zshrc if missing
export PATH="$HOME/.local/bin:$PATH"Clear cache and reinstall:
rm -rf /tmp/hotplex-*
curl -sL https://raw.githubusercontent.com/hrygo/hotplex/main/install.sh | bash