Skip to content

Installation

Envite ships as a single static binary for Linux x86_64, published on the GitHub Releases page of the public repository. It has no runtime dependencies besides the system ssh client, which is only needed for vaults and deploys over SSH.

Terminal window
curl -fsSL https://raw.githubusercontent.com/Kevinsillo/envite/main/install.sh | bash

The installer downloads the archive of the latest release and its SHA256SUMS.txt, checks the checksum and installs the binary to ~/.local/bin/envite. It needs curl, tar and sha256sum, and warns when the install directory is not on your PATH.

Two environment variables change what it does:

VariableEffect
ENVITE_VERSIONVersion to install, such as 1.0.0. The latest release by default.
ENVITE_INSTALL_DIRDirectory for the binary. ~/.local/bin by default.
Terminal window
curl -fsSL https://raw.githubusercontent.com/Kevinsillo/envite/main/install.sh | ENVITE_VERSION=1.0.0 ENVITE_INSTALL_DIR=/opt/bin bash

After installing, the installer runs envite --version and checks that it reports the version it installed. Check it yourself at any time:

Terminal window
envite --version

Then start it:

Terminal window
envite

Everything happens in the terminal interface; the few command line options only print information. See First start for what to do next.

Each release has two files: envite-<version>-x86_64-linux-musl.tar.gz, with the binary, its license, the licenses of the third-party components it includes (THIRD-PARTY-LICENSES.md) and a short README.txt, and SHA256SUMS.txt, with the checksum of the archive.

  1. Download both files of the release you want from the Releases page, into the same directory.

  2. Check the archive against its checksum:

    Terminal window
    sha256sum --check SHA256SUMS.txt

    The command must print OK for the archive.

  3. Extract the archive:

    Terminal window
    tar -xzf envite-*-x86_64-linux-musl.tar.gz
  4. Copy the binary to a directory on your PATH, for example ~/.local/bin:

    Terminal window
    install -m 755 envite-*-x86_64-linux-musl/envite ~/.local/bin/envite
  5. Check that it runs and reports the version you downloaded:

    Terminal window
    envite --version
  • Linux on x86_64. The binary is statically linked, so it does not depend on the libraries of your distribution.
  • A terminal at least 80 columns wide is recommended; the key hints of every screen fit in 80 columns.
  • OpenSSH 7.7 or newer, only for vaults on SSH hosts and deploys to servers. Envite uses your own ssh setup: ~/.ssh/config, known_hosts, the agent and ProxyJump all apply.
  • xdg-open, only for the GitHub and Open issue links of the home screen.
  • curl, only to update envite from envite itself (envite update, Check for updates or the check at startup).

Pick whichever way is at hand: all three install the same latest release.

Terminal window
envite update

Checks the latest release, asks before installing it and replaces the binary you ran. Add --yes to install without asking, for example from a script. See Command line.

Once a day, the first time you open envite, it asks GitHub for the latest release in the background; starting is never delayed. When a newer release exists, a dialog says envite X is available (current Y) with three answers:

AnswerEffect
UpdateInstalls it, as Check for updates does.
Skip this versionDoes not mention this release again; a newer one is announced.
LaterCloses the dialog; the next day’s check announces it again. Selected at first, and what Esc does.

The dialog never replaces another question that is open. Without network, without curl or without a published release, the check fails silently: it only leaves a line in the log, and runs again the next time you start envite. A day counts once a check completes, by the local date of your machine.

To turn it off, clear Check for updates at startup in Options. Check for updates in the Menu keeps working either way.

Command line and Home screen download the release archive and its SHA256SUMS.txt with the system curl, over HTTPS only, and install nothing unless the checksum matches. The new binary is written next to the current one, run once to check that it reports the new version within 10 seconds, and only then put in place of the old one in a single step: an update that fails at any point leaves the installed binary as it was. They need write access to the directory of the binary; for a binary installed by another user or under /usr/local/bin, run the update as a user who can write there, or run the installer again with the same ENVITE_INSTALL_DIR. Restart envite after the update to use the new version.

Vault files keep working: a newer build opens older vaults and upgrades them in memory, writing the new layout on the next save. Once a member saves a vault with a newer build, every member needs a build at least as new to open it, so update the whole team together.

Delete the binary:

Terminal window
rm ~/.local/bin/envite

Envite keeps its config.json, its logs/ directory and the default vault directory in the configuration root, ~/.config/envite (or $XDG_CONFIG_HOME/envite). Delete that directory too to remove every trace, after moving any vault you want to keep out of ~/.config/envite/vaults.

The binary is freeware: free to download and use, for personal and commercial purposes, under the envite license. The source code is kept in a private repository, so building from source is not available to the public.