Skip to content

Command Palette

Search for a command to run...

Getting started

Installation

Install the Phelix binary, update it, uninstall it, and configure the monitor service.

One-line installer

The recommended installer detects the operating system and architecture, downloads the matching prebuilt binary (no Go or Rust toolchain needed just to install Phelix), installs it to /usr/local/bin/phelix, and on Linux registers and enables a phelix.service systemd unit that runs phelix monitor directly.

Terminal
curl -fsSL https://phelix.anophel.com/install.sh | bash phelix version                 # verify the installsudo systemctl status phelix   # Linux: monitor service running?

Updating

phelix update upgrades the Phelix CLI/agent binary itself to the latest stable release, using the same release server and layout as the one-line installer (https://phelix.anophel.com/releases/<version>/phelix-<os>-<arch>), so no Go or Rust toolchain is needed.

Terminal
phelix update            # download and install the latest releasephelix update --check    # only report whether an update is available

During an update, Phelix:

  • Resolves the latest stable version and compares it against the running one with proper semantic-version ordering (v1.2.3 and 1.2.3 are the same version; a locally newer build is never downgraded).
  • Downloads the matching prebuilt binary for the current platform into a temporary directory.
  • Verifies the release's SHA-256 checksum when one is published - a mismatch aborts the update. When no checksum is published, it warns and continues (same policy as the installer).
  • Validates the download is a genuine Phelix binary for this platform before touching anything, then atomically replaces the currently installed executable. The old binary is preserved until the new one is proven in place, and restored automatically if a later step fails.
  • On Linux, if the phelix.service systemd unit is running, restarts the monitor service afterwards and waits for it to become active again. KillMode=process means the restart stops only the monitor - managed applications keep running. A service that is installed but stopped is left stopped, and hosts without systemd (or macOS) simply get the binary replacement.

If Phelix is already up to date:

Output
✓ Phelix is already up to date (v1.2.3).

Application state under ~/.phelix/ (sessions, builds, environment variables, version history) is never modified - the command only replaces the binary itself and never rebuilds your applications.

Uninstalling

The same script reverses the install step by step with --uninstall: it stops and disables the phelix.service systemd unit on Linux (removing the unit file and running systemctl daemon-reload; a no-op where there is no systemd), removes the binary from /usr/local/bin/phelix, and removes the legacy phelix-startup.sh wrapper if present.

Terminal
curl -fsSL https://phelix.anophel.com/install.sh | bash -s -- --uninstall # verify removalsudo systemctl status phelix   # should be gone (Linux)command -v phelix              # should print nothing

Monitor service

The systemd unit runs phelix monitor directly in the foreground (as ExecStart) - there is no backgrounding shell wrapper. On boot the daemon restores every managed app that was previously running. With an authenticated session and at least one watched app, it keeps a persistent, TLS-secured gRPC connection to the backend, reconnecting with exponential backoff. With no watched apps, no monitoring stream opens.

Terminal
sudo systemctl start phelixsudo systemctl status phelixsudo journalctl -u phelix -f

Verify installation

Terminal
phelix versionsudo systemctl status phelix

Runtime dependencies

DependencyRequired when
Go toolchainBuilding Go applications
Rust + CargoBuilding Rust applications
DockerUsing dockerize, Rust cross, or multi-version matrix builds
Internet accessAuthentication, downloads, and monitoring sync

Phelix detects a missing toolchain and offers to install it automatically on Linux; other operating systems receive manual instructions.

Supported platforms

Linux is the primary target. Windows support is experimental. Matrix output supports Linux, macOS, and Windows targets depending on language and architecture.