diff --git a/404.html b/404.html index 13235ea4..bbeba005 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - +
diff --git a/assets/js/47881d5c.6ad35172.js b/assets/js/47881d5c.6ad35172.js new file mode 100644 index 00000000..1c9b2059 --- /dev/null +++ b/assets/js/47881d5c.6ad35172.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[826],{6285:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>h,contentTitle:()=>p,default:()=>g,frontMatter:()=>d,metadata:()=>u,toc:()=>m});var r=s(5893),t=s(1151),i=s(4908),a=s(3298),o=s(7597),l=s(1326),c=s(2753);const d={title:"Install zrok in Linux",sidebar_label:"Linux"},p=void 0,u={id:"guides/install/linux",title:"Install zrok in Linux",description:"Linux Binary",source:"@site/../docs/guides/install/linux.mdx",sourceDirName:"guides/install",slug:"/guides/install/linux",permalink:"/docs/guides/install/linux",draft:!1,unlisted:!1,editUrl:"https://github.com/openziti/zrok/blob/main/docs/../docs/guides/install/linux.mdx",tags:[],version:"current",frontMatter:{title:"Install zrok in Linux",sidebar_label:"Linux"},sidebar:"tutorialSidebar",previous:{title:"Install",permalink:"/docs/guides/install/"},next:{title:"macOS",permalink:"/docs/guides/install/macos"}},h={},m=[{value:"Linux Binary",id:"linux-binary",level:2},{value:"Installzrok
from the Repository",id:"install-zrok-from-the-repository",level:2}];function x(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"linux-binary",children:"Linux Binary"}),"\n",(0,r.jsx)(i.N,{children:(0,r.jsx)("div",{className:o.Z.downloadContainer,children:(0,r.jsx)(a.Z,{osName:"Linux",osLogo:"/img/logo-linux.svg"})})}),"\n",(0,r.jsxs)(n.p,{children:["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 ",(0,r.jsx)(n.code,{children:"amd64"})," distribution. For Raspberry Pi use the ",(0,r.jsx)(n.code,{children:"arm64"})," distribution."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Manually install in ",(0,r.jsx)(n.code,{children:"~/bin/zrok"})]}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Unarchive the distribution in a temporary directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir /tmp/zrok && tar -xf ./zrok*linux*.tar.gz -C /tmp/zrok\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Install the ",(0,r.jsx)(n.code,{children:"zrok"})," executable."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir -p ~/bin && install /tmp/zrok/zrok ~/bin/\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Add ",(0,r.jsx)(n.code,{children:"~/bin"})," to your shell's executable search path. Optionally add this to your ~/.zshenv to persist the change."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"PATH=~/bin:$PATH\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["With the ",(0,r.jsx)(n.code,{children:"zrok"})," executable in your path, you can then execute the ",(0,r.jsx)(n.code,{children:"zrok"})," command from your shell:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"zrok version\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-buttonless",metastring:'title="Output"',children:" _ \n _____ __ ___ | | __\n|_ / '__/ _ \\| |/ /\n / /| | | (_) | < \n/___|_| \\___/|_|\\_\\\n\nv0.4.0 [c889005]\n"})}),"\n"]}),"\n"]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Script to install binary in ",(0,r.jsx)(n.code,{children:"/usr/local/bin/zrok"})]}),(0,r.jsx)(n.p,{children:"This script auto-selects the correct architecture and may be helpful for Raspberry Pi users."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"cd $(mktemp -d);\n\nZROK_VERSION=$(\n curl -sSf https://api.github.com/repos/openziti/zrok/releases/latest \\\n | jq -r '.tag_name'\n);\n\ncase $(uname -m) in\n x86_64) GOXARCH=amd64\n ;;\n aarch64|arm64) GOXARCH=arm64\n ;;\n arm*) GOXARCH=arm\n ;;\n *) echo \"ERROR: unknown arch '$(uname -m)'\" >&2\n exit 1\n ;;\nesac;\n\ncurl -sSfL \\\n \"https://github.com/openziti/zrok/releases/download/${ZROK_VERSION}/zrok_${ZROK_VERSION#v}_linux_${GOXARCH}.tar.gz\" \\\n | tar -xz -f -;\n\nsudo install -o root -g root ./zrok /usr/local/bin/;\n\nzrok version;\n"})})]}),"\n",(0,r.jsxs)(n.h2,{id:"install-zrok-from-the-repository",children:["Install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Repository"]}),"\n",(0,r.jsxs)(n.p,{children:["We recommend that you install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Linux package repository with the manual steps or the setup script. DEB and RPM packages are available for amd64, arm64, and armv7 architectures."]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["Check out ",(0,r.jsx)(n.a,{href:"/docs/guides/frontdoor?os=Linux",children:"zrok frontdoor"})," for running ",(0,r.jsx)(n.code,{children:"zrok"})," as an always-on service."]})}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Manually set up DEB repository"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"(set -euo pipefail;\n\ncurl -sSLf https://get.openziti.io/tun/package-repos.gpg \\\n| sudo gpg --dearmor --output /usr/share/keyrings/openziti.gpg;\nsudo chmod a+r /usr/share/keyrings/openziti.gpg;\n\nsudo tee /etc/apt/sources.list.d/openziti-release.list >/dev/null <zrok
from the Repository",id:"install-zrok-from-the-repository",level:2}];function x(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,t.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"linux-binary",children:"Linux Binary"}),"\n",(0,r.jsx)(i.N,{children:(0,r.jsx)("div",{className:o.Z.downloadContainer,children:(0,r.jsx)(a.Z,{osName:"Linux",osLogo:"/img/logo-linux.svg"})})}),"\n",(0,r.jsxs)(n.p,{children:["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 ",(0,r.jsx)(n.code,{children:"amd64"})," distribution. For Raspberry Pi use the ",(0,r.jsx)(n.code,{children:"arm64"})," distribution."]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Manually install in ",(0,r.jsx)(n.code,{children:"~/bin/zrok"})]}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Unarchive the distribution in a temporary directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir /tmp/zrok && tar -xf ./zrok*linux*.tar.gz -C /tmp/zrok\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Install the ",(0,r.jsx)(n.code,{children:"zrok"})," executable."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"mkdir -p ~/bin && install /tmp/zrok/zrok ~/bin/\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Add ",(0,r.jsx)(n.code,{children:"~/bin"})," to your shell's executable search path. Optionally add this to your ~/.zshenv to persist the change."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"PATH=~/bin:$PATH\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["With the ",(0,r.jsx)(n.code,{children:"zrok"})," executable in your path, you can then execute the ",(0,r.jsx)(n.code,{children:"zrok"})," command from your shell:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"zrok version\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-buttonless",metastring:'title="Output"',children:" _ \n _____ __ ___ | | __\n|_ / '__/ _ \\| |/ /\n / /| | | (_) | < \n/___|_| \\___/|_|\\_\\\n\nv0.4.0 [c889005]\n"})}),"\n"]}),"\n"]})]}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsxs)("summary",{children:["Script to install binary in ",(0,r.jsx)(n.code,{children:"/usr/local/bin/zrok"})]}),(0,r.jsx)(n.p,{children:"This script auto-selects the correct architecture, and may be helpful for Raspberry Pi users."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"(set -euo pipefail;\n\ncd $(mktemp -d);\n\nZROK_VERSION=$(\n curl -sSf https://api.github.com/repos/openziti/zrok/releases/latest \\\n | jq -r '.tag_name'\n);\n\ncase $(uname -m) in\n x86_64) GOXARCH=amd64 ;;\n aarch64|arm64) GOXARCH=arm64 ;;\n armv7|armhf|arm) GOXARCH=arm ;;\n *) echo \"ERROR: unknown arch '$(uname -m)'\" >&2\n exit 1 ;;\nesac;\n\ncurl -sSfL \\\n \"https://github.com/openziti/zrok/releases/download/${ZROK_VERSION}/zrok_${ZROK_VERSION#v}_linux_${GOXARCH}.tar.gz\" \\\n | tar -xz -f -;\n\nsudo install -o root -g root ./zrok /usr/local/bin/;\nzrok version;\n)\n"})})]}),"\n",(0,r.jsxs)(n.h2,{id:"install-zrok-from-the-repository",children:["Install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Repository"]}),"\n",(0,r.jsxs)(n.p,{children:["We recommend that you install ",(0,r.jsx)(n.code,{children:"zrok"})," from the Linux package repository with the manual steps or the setup script. DEB and RPM packages are available for amd64, arm64, and armv7 architectures."]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["Check out ",(0,r.jsx)(n.a,{href:"/docs/guides/frontdoor?os=Linux",children:"zrok frontdoor"})," for running ",(0,r.jsx)(n.code,{children:"zrok"})," as an always-on service."]})}),"\n",(0,r.jsxs)(s,{children:[(0,r.jsx)("summary",{children:"Manually set up DEB repository"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"(set -euo pipefail;\n\ncurl -sSLf https://get.openziti.io/tun/package-repos.gpg \\\n| sudo gpg --dearmor --output /usr/share/keyrings/openziti.gpg;\nsudo chmod a+r /usr/share/keyrings/openziti.gpg;\n\nsudo tee /etc/apt/sources.list.d/openziti-release.list >/dev/null </usr/local/bin/zrok
This script auto-selects the correct architecture, and may be helpful for Raspberry Pi users.
(set -euo pipefail;
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 ;;
armv7|armhf|arm) GOXARCH=arm ;;
*) 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;
)
/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=arm
;;
*) 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;
zrok
from the RepositoryWe recommend that you install zrok
from the Linux package repository with the manual steps or the setup script. DEB and RPM packages are available for amd64, arm64, and armv7 architectures.
Check out zrok frontdoor for running zrok
as an always-on service.