Skip to main content
Star zrok on GitHub Star
Version: 1.1

Install zrok in Linux

Package Repository​

The RedHat (RPM) and Debian (DEB) packages are maintained by NetFoundry.

curl -sSf https://get.openziti.io/install.bash | sudo bash -s zrok
info

Check out zrok frontdoor for running zrok as an always-on service.

Ansible Playbook
Set up package repository and install zrok
- name: Set up zrok Package Repo
gather_facts: true
hosts: all
become: true
tasks:
- name: Set up apt repo
when: ansible_os_family == "Debian"
block:
- name: Install playbook dependencies
ansible.builtin.package:
name:
- gnupg
state: present
- name: Fetch armored pubkey
ansible.builtin.uri:
url: https://get.openziti.io/tun/package-repos.gpg
return_content: 'yes'
register: armored_pubkey
- name: Dearmor pubkey
ansible.builtin.shell: >
gpg --dearmor --output /usr/share/keyrings/openziti.gpg <<< "{{
armored_pubkey.content }}"
args:
creates: /usr/share/keyrings/openziti.gpg
executable: /bin/bash
- name: Set pubkey filemode
ansible.builtin.file:
path: /usr/share/keyrings/openziti.gpg
mode: a+rX
- name: Install OpenZiti repo deb source
ansible.builtin.copy:
dest: /etc/apt/sources.list.d/openziti-release.list
content: >
deb [signed-by=/usr/share/keyrings/openziti.gpg]
https://packages.openziti.org/zitipax-openziti-deb-stable debian
main
- name: Refresh Repo Sources
ansible.builtin.apt:
update_cache: 'yes'
cache_valid_time: 3600
- name: Set up yum repo
when: ansible_os_family == "RedHat"
block:
- name: Install OpenZiti repo rpm source
ansible.builtin.yum_repository:
name: OpenZitiRelease
description: OpenZiti Release
baseurl: >-
https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch
enabled: 'yes'
gpgkey: >-
https://packages.openziti.org/zitipax-openziti-rpm-stable/redhat/$basearch/repodata/repomd.xml.key
repo_gpgcheck: 'yes'
gpgcheck: 'no'

- name: Install zrok package
gather_facts: false
hosts: all
become: true
tasks:
- name: Install zrok
ansible.builtin.package:
name: zrok
state: present

Linux Binary​

Linux logo

Linux

Download the binary distribution for your Linux distribution's architecture or run the install script below to pick the correct CPU architecture automatically. For Intel and AMD 64-bit machines use the amd64 distribution. For Raspberry Pi use the arm64 distribution.

Manually install in ~/bin/zrok
  1. Unarchive the distribution in a temporary directory.

    mkdir /tmp/zrok && tar -xf ./zrok*linux*.tar.gz -C /tmp/zrok
  2. Install the zrok executable.

    mkdir -p ~/bin && install /tmp/zrok/zrok ~/bin/
  3. Add ~/bin to your shell's executable search path. Optionally add this to your ~/.zshenv to persist the change.

    PATH=~/bin:$PATH
  4. With the zrok executable in your path, you can then execute the zrok command from your shell:

    zrok version
    Output
    _
    _____ __ ___ | | __
    |_ / '__/ _ \| |/ /
    / /| | | (_) | <
    /___|_| \___/|_|\_\

    v1.0.0 [c889005]
Script to install binary in /usr/local/bin/zrok

This script auto-selects the correct architecture and may be helpful for Raspberry Pi users.

cd $(mktemp -d);

ZROK_VERSION=$(
curl -sSf https://api.github.com/repos/openziti/zrok/releases/latest \
| jq -r '.tag_name'
);

case $(uname -m) in
x86_64) GOXARCH=amd64
;;
aarch64|arm64) GOXARCH=arm64
;;
arm*) GOXARCH=armv7
;;
*) echo "ERROR: unknown arch '$(uname -m)'" >&2
exit 1
;;
esac;

curl -sSfL \
"https://github.com/openziti/zrok/releases/download/${ZROK_VERSION}/zrok_${ZROK_VERSION#v}_linux_${GOXARCH}.tar.gz" \
| tar -xz -f -;

sudo install -o root -g root ./zrok /usr/local/bin/;

zrok version;

Arch User Repository​

An Arch User Repository (AUR) package is maintained by the Arch community. As of April 2025, the AUR package includes the zrok CLI and the zrok-agent.service systemd --user service.

Homebrew Formula​

This formula is maintained by the Homebrew community.

brew install zrok