diff --git a/404.html b/404.html index 0889beac..63f269bd 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - +
diff --git a/assets/files/ctrl-34051dd924b8c472b16360318f5b44ed.yml b/assets/files/ctrl-8c79ecb3dbb5c80222db9cebe7d22508.yml similarity index 88% rename from assets/files/ctrl-34051dd924b8c472b16360318f5b44ed.yml rename to assets/files/ctrl-8c79ecb3dbb5c80222db9cebe7d22508.yml index ab3c8fb1..672e6850 100644 --- a/assets/files/ctrl-34051dd924b8c472b16360318f5b44ed.yml +++ b/assets/files/ctrl-8c79ecb3dbb5c80222db9cebe7d22508.yml @@ -47,6 +47,20 @@ bridge: url: amqp://guest:guest@localhost:5672 queue_name: events +# Client version compatibility checking. This section allows administrators to configure which client versions +# are considered compatible with the controller. If this section is not provided, the controller uses built-in +# default patterns that match the current version stream. +# +# If `log_requests` is set to `true`, the compatibility check handler will log all client versions (useful for metrics). +# +#compatibility: +# log_requests: true +# version_patterns: +# - "^(refs/(heads|tags)/)?v1\\.1" # current version stream +# - "^v1\\.0" # previous version for backward compatibility +# - "^v1\\.2" # example: allow future version +# - "^dev-" # example: allow development builds + # The `endpoint` section determines where the HTTP listener that serves the API and web console will be bound. # endpoint: diff --git a/assets/js/392083ed.de67f226.js b/assets/js/392083ed.5b034f5e.js similarity index 99% rename from assets/js/392083ed.de67f226.js rename to assets/js/392083ed.5b034f5e.js index 5379a5e9..23da01a5 100644 --- a/assets/js/392083ed.de67f226.js +++ b/assets/js/392083ed.5b034f5e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4717],{51852:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"guides/self-hosting/linux/index","title":"Self-Hosting Guide for Linux","description":"Walkthrough Video","source":"@site/versioned_docs/version-0.4/guides/self-hosting/linux/index.mdx","sourceDirName":"guides/self-hosting/linux","slug":"/guides/self-hosting/linux/","permalink":"/docs/0.4/guides/self-hosting/linux/","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/versioned_docs/version-0.4/guides/self-hosting/linux/index.mdx","tags":[],"version":"0.4","sidebarPosition":40,"frontMatter":{"sidebar_position":40,"title":"Self-Hosting Guide for Linux","sidebar_label":"Linux"},"sidebar":"tutorialSidebar","previous":{"title":"Self Hosting","permalink":"/docs/0.4/category/self-hosting"},"next":{"title":"NGINX TLS","permalink":"/docs/0.4/guides/self-hosting/linux/nginx"}}');var t=r(74848),i=r(28453);const s={sidebar_position:40,title:"Self-Hosting Guide for Linux",sidebar_label:"Linux"},l=void 0,c={},d=[{value:"Walkthrough Video",id:"walkthrough-video",level:2},{value:"Before you Begin",id:"before-you-begin",level:2},{value:"OpenZiti",id:"openziti",level:2},{value:"Install zrok",id:"install-zrok",level:2},{value:"Configure the Controller",id:"configure-the-controller",level:2},{value:"Environment Variables",id:"environment-variables",level:2},{value:"Bootstrap OpenZiti for zrok",id:"bootstrap-openziti-for-zrok",level:2},{value:"Run zrok Controller",id:"run-zrok-controller",level:2},{value:"Create zrok Frontend",id:"create-zrok-frontend",level:2},{value:"Configure the Public Frontend",id:"configure-the-public-frontend",level:2},{value:"Start Public Frontend",id:"start-public-frontend",level:2},{value:"Create a User Account",id:"create-a-user-account",level:2},{value:"Invite Additional Users",id:"invite-additional-users",level:2},{value:"Enable Your Environment",id:"enable-your-environment",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"walkthrough-video",children:"Walkthrough Video"}),"\n",(0,t.jsx)("iframe",{width:"100%",height:"315",src:"https://www.youtube.com/embed/870A5dke_u4",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0}),"\n",(0,t.jsx)(n.h2,{id:"before-you-begin",children:"Before you Begin"}),"\n",(0,t.jsxs)(n.p,{children:["This will get you up and running with a self-hosted instance of ",(0,t.jsx)(n.code,{children:"zrok"}),". I'll assume you have the following:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"a Linux server with a public IP"}),"\n",(0,t.jsxs)(n.li,{children:["a wildcard DNS record like ",(0,t.jsx)(n.code,{children:"*.zrok.quigley.com"})," that resolves to the server IP"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"openziti",children:"OpenZiti"}),"\n",(0,t.jsxs)(n.p,{children:['OpenZiti (a.k.a. "Ziti") provides secure network backhaul for ',(0,t.jsx)(n.code,{children:"zrok"})," public and private shares. You need a Ziti Controller and a Ziti Router. You can run everything on the same Linux VPS."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Install the Ziti Controller package by following the ",(0,t.jsx)(n.a,{href:"https://openziti.io/docs/category/deployments",children:"Linux controller deployment guide"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Ensure your answer file (",(0,t.jsx)(n.code,{children:"/opt/openziti/etc/controller/bootstrap.env"}),") has the FQDN of your Linux server and an admin password defined."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Ensure your firewall allows the controller port from the answer file."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Start the controller service (",(0,t.jsx)(n.code,{children:"ziti-controller.service"}),") and check the status."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Log in to the Ziti Controller"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"ziti edge login localhost:1280 -u admin -pThe endpoint
section defines where your zrok
controller will listen.
The store
section defines the local sqlite3
database used by the controller.
The ziti
section defines how the zrok
controller should communicate with your OpenZiti installation. When using the OpenZiti quickstart, an administrative password will be generated; the password
in the ziti
stanza should reflect this password.
Be sure to see the reference configuration at etc/ctrl.yml
for the complete documentation of the current configuration file format for the zrok
controller and service instance components.
See the separate guides on configuring metrics and configuring limits for details about both of these specialized areas of service instance configuration.
Be sure to see the reference configuration at etc/ctrl.yml
for the complete documentation of the current configuration file format for the zrok
controller and service instance components.
See the separate guides on configuring metrics and configuring limits for details about both of these specialized areas of service instance configuration.
The zrok
binaries are configured to work with the global zrok.io
service, and default to using api.zrok.io
as the endpoint for communicating with the service.
To work with a self-hosted zrok
deployment, you'll need to set the ZROK_API_ENDPOINT
environment variable to point to the address where your zrok
controller will be listening, according to endpoint
in the configuration file above.