mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-06-03 09:10:39 +08:00
deploy: 1e18e2a8d8
This commit is contained in:
@@ -1 +0,0 @@
|
||||
import{M as s,a4 as p,a5 as i,a6 as u,a7 as c,a8 as l,a9 as d,aa as f,ab as m,ac as h,ad as A,J as g,d as P,u as v,p as y,k as C,ae as w,af as _,ag as b,ah as E}from"./chunks/framework.1625126e.js";import{t as R}from"./chunks/theme.776be62d.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(R),D=P({name:"VitePressApp",setup(){const{site:e}=v();return y(()=>{C(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),w(),_(),b(),n.setup&&n.setup(),()=>E(n.Layout)}});async function O(){const e=T(),a=S();a.provide(i,e);const t=u(e.route);return a.provide(c,t),a.component("Content",l),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:f}),{app:a,router:e,data:t}}function S(){return m(D)}function T(){let e=s,a;return h(t=>{let o=A(t);return e&&(a=o),(e||a===o)&&(o=o.replace(/\.js$/,".lean.js")),s&&(e=!1),g(()=>import(o),[])},n.NotFound)}s&&O().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{O as createApp};
|
||||
1
assets/app.7da1868b.js
Normal file
1
assets/app.7da1868b.js
Normal file
@@ -0,0 +1 @@
|
||||
import{u as i,I as o,a2 as p,c as u,A as c,H as l,a3 as f,a4 as d,a5 as m,a6 as A,a7 as h,a8 as g,a9 as P,aa as v,ab as y,ac as C,ad as _,ae as b,af as w,S as D}from"./chunks/framework.70afa331.js";import{t as E}from"./chunks/theme.b9d97670.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=r(E),R=i({name:"VitePressApp",setup(){const{site:e}=u();return c(()=>{l(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),f(),d(),m(),s.setup&&s.setup(),()=>A(s.Layout)}});async function O(){const e=j(),a=T();a.provide(h,e);const t=g(e.route);return a.provide(P,t),a.component("Content",v),a.component("ClientOnly",y),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:C}),{app:a,router:e,data:t}}function T(){return _(R)}function j(){let e=o,a;return b(t=>{let n=w(t);return n?(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),o&&(e=!1),D(()=>import(n),[])):null},s.NotFound)}o&&O().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{O as createApp};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1691116050000}'),o={name:"case/case1.md"},p=n("",98),e=[p];function t(r,c,i,C,y,D){return a(),l("div",null,e)}const u=s(o,[["render",t]]);export{h as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
17
assets/case_case1.md.deac8989.lean.js
Normal file
17
assets/case_case1.md.deac8989.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as e,R as t}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1691116050000}'),l={name:"case/case2.md"},p=t("",81),o=[p];function n(r,c,i,h,b,d){return a(),e("div",null,o)}const C=s(l,[["render",n]]);export{g as __pageData,C as default};
|
||||
File diff suppressed because one or more lines are too long
1
assets/case_case2.md.78e0f838.lean.js
Normal file
1
assets/case_case2.md.78e0f838.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as e,o as t,c as s,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1691116050000}'),p={name:"case/case3.md"},n=a("",49),r=[n];function i(l,c,o,h,d,g){return t(),s("div",null,r)}const m=e(p,[["render",i]]);export{u as __pageData,m as default};
|
||||
File diff suppressed because one or more lines are too long
1
assets/case_case3.md.f7cb4ab1.lean.js
Normal file
1
assets/case_case3.md.f7cb4ab1.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as e,o as a,c as s,R as t}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1691116050000}'),i={name:"case/case4.md"},l=t("",25),r=[l];function p(c,o,n,h,d,u){return a(),s("div",null,r)}const v=e(i,[["render",p]]);export{b as __pageData,v as default};
|
||||
File diff suppressed because one or more lines are too long
1
assets/case_case4.md.51a6b978.lean.js
Normal file
1
assets/case_case4.md.51a6b978.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as a,o as e,c as t,R as o}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691116050000}'),s={name:"case/case5.md"},n=o('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(s,[["render",i]]);export{_ as __pageData,y as default};
|
||||
import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691117252000}'),o={name:"case/case5.md"},n=s('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default};
|
||||
1
assets/case_case5.md.1b6946af.lean.js
Normal file
1
assets/case_case5.md.1b6946af.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691117252000}'),o={name:"case/case5.md"},n=s('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as a,o as e,c as t,R as o}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691116050000}'),s={name:"case/case5.md"},n=o("",12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(s,[["render",i]]);export{_ as __pageData,y as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691116050000}'),n={name:"case/index.md"};function i(s,o,r,c,l,d){return t(),a("div")}const x=e(n,[["render",i]]);export{m as __pageData,x as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691117252000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691116050000}'),n={name:"case/index.md"};function i(s,o,r,c,l,d){return t(),a("div")}const x=e(n,[["render",i]]);export{m as __pageData,x as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691117252000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
assets/chunks/framework.70afa331.js
Normal file
2
assets/chunks/framework.70afa331.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
7
assets/chunks/theme.b9d97670.js
Normal file
7
assets/chunks/theme.b9d97670.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691116050000}'),o={name:"developer/index.md"};function n(l,r,s,i,p,d){return t(),a("div")}const u=e(o,[["render",n]]);export{m as __pageData,u as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691117252000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691116050000}'),o={name:"developer/index.md"};function n(l,r,s,i,p,d){return t(),a("div")}const u=e(o,[["render",n]]);export{m as __pageData,u as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691117252000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default};
|
||||
1
assets/developer_l10n.md.4070792f.js
Normal file
1
assets/developer_l10n.md.4070792f.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as o,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691117252000}'),l={name:"developer/l10n.md"},r=t('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to "介绍""></a></h2><ol><li>你可以直接使用 <code>/resource/l10n/zh-CN.toml</code> 中已有的文本配置来替换新功能中的文本</li><li>如果新功能中有新增文本,请参考 <code>zh-CN.toml</code> 的配置文本,将新文本拉取到 <code>zh-CN.toml</code> 等其他语言的配置文件中,并添加翻译</li></ol><h2 id="新本地化文本的添加" tabindex="-1">新本地化文本的添加 <a class="header-anchor" href="#新本地化文本的添加" aria-label="Permalink to "新本地化文本的添加""></a></h2><ol><li>在 <code>/resource/l10n/</code> 中添加新的语言文本配置</li><li>在新的语言文本配置中拉取其他语言已有的文本配置</li><li>为新的语言文本配置添加翻译</li></ol>',5),s=[r];function d(i,n,c,h,p,_){return o(),a("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
1
assets/developer_l10n.md.4070792f.lean.js
Normal file
1
assets/developer_l10n.md.4070792f.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as o,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691117252000}'),l={name:"developer/l10n.md"},r=t('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to "介绍""></a></h2><ol><li>你可以直接使用 <code>/resource/l10n/zh-CN.toml</code> 中已有的文本配置来替换新功能中的文本</li><li>如果新功能中有新增文本,请参考 <code>zh-CN.toml</code> 的配置文本,将新文本拉取到 <code>zh-CN.toml</code> 等其他语言的配置文件中,并添加翻译</li></ol><h2 id="新本地化文本的添加" tabindex="-1">新本地化文本的添加 <a class="header-anchor" href="#新本地化文本的添加" aria-label="Permalink to "新本地化文本的添加""></a></h2><ol><li>在 <code>/resource/l10n/</code> 中添加新的语言文本配置</li><li>在新的语言文本配置中拉取其他语言已有的文本配置</li><li>为新的语言文本配置添加翻译</li></ol>',5),s=[r];function d(i,n,c,h,p,_){return o(),a("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691116050000}'),l={name:"developer/l10n.md"},r=a('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to "介绍""></a></h2><ol><li>你可以直接使用 <code>/resource/l10n/zh-CN.toml</code> 中已有的文本配置来替换新功能中的文本</li><li>如果新功能中有新增文本,请参考 <code>zh-CN.toml</code> 的配置文本,将新文本拉取到 <code>zh-CN.toml</code> 等其他语言的配置文件中,并添加翻译</li></ol><h2 id="新本地化文本的添加" tabindex="-1">新本地化文本的添加 <a class="header-anchor" href="#新本地化文本的添加" aria-label="Permalink to "新本地化文本的添加""></a></h2><ol><li>在 <code>/resource/l10n/</code> 中添加新的语言文本配置</li><li>在新的语言文本配置中拉取其他语言已有的文本配置</li><li>为新的语言文本配置添加翻译</li></ol>',5),c=[r];function d(n,i,s,_,h,p){return o(),t("div",null,c)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691116050000}'),l={name:"developer/l10n.md"},r=a("",5),c=[r];function d(n,i,s,_,h,p){return o(),t("div",null,c)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as n}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691116050000}'),a={name:"en_US/developer/index.md"};function o(l,r,i,p,c,m){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691117252000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as n}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691116050000}'),a={name:"en_US/developer/index.md"};function o(l,r,i,p,c,m){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691117252000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as n,R as o}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691116050000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,c,s,u,f,h){return t(),n("div",null,l)}const p=e(a,[["render",r]]);export{g as __pageData,p as default};
|
||||
import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691117252000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default};
|
||||
1
assets/en_US_developer_l10n.md.9e185634.lean.js
Normal file
1
assets/en_US_developer_l10n.md.9e185634.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691117252000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as t,c as n,R as o}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691116050000}'),a={name:"en_US/developer/l10n.md"},i=o("",5),l=[i];function r(d,c,s,u,f,h){return t(),n("div",null,l)}const p=e(a,[["render",r]]);export{g as __pageData,p as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as t,o as e,c as a,R as r}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/dashboard.md"},i=r("",25),s=[i];function p(c,l,h,n,d,m){return e(),a("div",null,s)}const _=t(o,[["render",p]]);export{b as __pageData,_ as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,o as e,c as a,R as r}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h2><p>需要虚拟化出服务器,你需要:</p><ol><li>一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速</p></div><ol start="2"><li>本地可以稳定连接SSH,如果不能稳定连接,请使用<code>screen</code>命令创建窗口后,在窗口内执行命令</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>不会用screen命令的,自行查找相关教程学习</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(c,l,h,n,d,m){return e(),a("div",null,s)}const _=t(o,[["render",p]]);export{b as __pageData,_ as default};
|
||||
import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h2><p>需要虚拟化出服务器,你需要:</p><ol><li>一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速</p></div><ol start="2"><li>本地可以稳定连接SSH,如果不能稳定连接,请使用<code>screen</code>命令创建窗口后,在窗口内执行命令</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>不会用screen命令的,自行查找相关教程学习</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(c,l,h,n,d,m){return e(),a("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
1
assets/en_US_guide_dashboard.md.724976d3.lean.js
Normal file
1
assets/en_US_guide_dashboard.md.724976d3.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h2><p>需要虚拟化出服务器,你需要:</p><ol><li>一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速</p></div><ol start="2"><li>本地可以稳定连接SSH,如果不能稳定连接,请使用<code>screen</code>命令创建窗口后,在窗口内执行命令</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>不会用screen命令的,自行查找相关教程学习</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(c,l,h,n,d,m){return e(),a("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as t,R as s}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/dashboardq.md"},n=s('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(c,d,i,_,l,h){return a(),t("div",null,r)}const u=e(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/dashboardq.md"},n=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
1
assets/en_US_guide_dashboardq.md.08ae3f6e.lean.js
Normal file
1
assets/en_US_guide_dashboardq.md.08ae3f6e.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/dashboardq.md"},n=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as a,c as t,R as s}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/dashboardq.md"},n=s("",4),r=[n];function p(c,d,i,_,l,h){return a(),t("div",null,r)}const u=e(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as o}from"./chunks/framework.1625126e.js";const A=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/docker_build.md"},e=o("",36),p=[e];function t(c,r,C,i,y,d){return a(),l("div",null,p)}const D=s(n,[["render",t]]);export{A as __pageData,D as default};
|
||||
File diff suppressed because one or more lines are too long
5
assets/en_US_guide_docker_build.md.de12a39e.lean.js
Normal file
5
assets/en_US_guide_docker_build.md.de12a39e.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as s,o as a,c as l,R as p}from"./chunks/framework.1625126e.js";const D=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/docker_install.md"},n=p('<h2 id="环境预设" tabindex="-1">环境预设 <a class="header-anchor" href="#环境预设" aria-label="Permalink to "环境预设""></a></h2><ul><li>检测环境</li><li>安装docker</li><li>下载预制脚本</li></ul><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span></span></code></pre></div>',6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const _=s(o,[["render",t]]);export{D as __pageData,_ as default};
|
||||
import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691117252000}'),n={name:"en_US/guide/docker_install.md"},o=p('<h2 id="环境预设" tabindex="-1">环境预设 <a class="header-anchor" href="#环境预设" aria-label="Permalink to "环境预设""></a></h2><ul><li>检测环境</li><li>安装docker</li><li>下载预制脚本</li></ul><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span></span></code></pre></div>',6),e=[o];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{A as __pageData,h as default};
|
||||
1
assets/en_US_guide_docker_install.md.0d71a6ee.lean.js
Normal file
1
assets/en_US_guide_docker_install.md.0d71a6ee.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691117252000}'),n={name:"en_US/guide/docker_install.md"},o=p('<h2 id="环境预设" tabindex="-1">环境预设 <a class="header-anchor" href="#环境预设" aria-label="Permalink to "环境预设""></a></h2><ul><li>检测环境</li><li>安装docker</li><li>下载预制脚本</li></ul><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">pre_build.sh</span></span></code></pre></div>',6),e=[o];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{A as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as p}from"./chunks/framework.1625126e.js";const D=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/docker_install.md"},n=p("",6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const _=s(o,[["render",t]]);export{D as __pageData,_ as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/docker_precheck.md"},c=t("",12),i=[c];function p(n,s,d,_,h,l){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/docker_precheck.md"},c=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><p>通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)</p><p>默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口</p><p>默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以<strong>宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker</strong></p><p>由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源</p><p>由于大部分云服务器xfs文件系统不启用pquota选项,所以<strong>默认共享宿主机硬盘,无法限制每个容器的磁盘大小</strong></p><h2 id="配置要求" tabindex="-1">配置要求 <a class="header-anchor" href="#配置要求" aria-label="Permalink to "配置要求""></a></h2><p>系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行</p><p>推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 <a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',12),i=[c];function p(n,s,d,_,h,l){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{u as __pageData,f as default};
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/docker_precheck.md"},s=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><p>通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)</p><p>默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口</p><p>默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以<strong>宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker</strong></p><p>由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源</p><p>由于大部分云服务器xfs文件系统不启用pquota选项,所以<strong>默认共享宿主机硬盘,无法限制每个容器的磁盘大小</strong></p><h2 id="配置要求" tabindex="-1">配置要求 <a class="header-anchor" href="#配置要求" aria-label="Permalink to "配置要求""></a></h2><p>系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行</p><p>推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 <a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',12),i=[s];function p(n,c,d,h,l,_){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default};
|
||||
1
assets/en_US_guide_docker_precheck.md.f97dab53.lean.js
Normal file
1
assets/en_US_guide_docker_precheck.md.f97dab53.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/docker_precheck.md"},s=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><p>通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)</p><p>默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口</p><p>默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以<strong>宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker</strong></p><p>由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源</p><p>由于大部分云服务器xfs文件系统不启用pquota选项,所以<strong>默认共享宿主机硬盘,无法限制每个容器的磁盘大小</strong></p><h2 id="配置要求" tabindex="-1">配置要求 <a class="header-anchor" href="#配置要求" aria-label="Permalink to "配置要求""></a></h2><p>系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行</p><p>推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 <a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',12),i=[s];function p(n,c,d,h,l,_){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691116050000}'),r={name:"en_US/guide/docker_qa.md"};function o(c,d,n,_,s,i){return t(),a("div")}const f=e(r,[["render",o]]);export{m as __pageData,f as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691116050000}'),r={name:"en_US/guide/docker_qa.md"};function o(c,d,n,_,s,i){return t(),a("div")}const f=e(r,[["render",o]]);export{m as __pageData,f as default};
|
||||
1
assets/en_US_guide_docker_qa.md.4f60dcf8.js
Normal file
1
assets/en_US_guide_docker_qa.md.4f60dcf8.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691117252000}'),r={name:"en_US/guide/docker_qa.md"};function d(s,_,o,n,c,i){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default};
|
||||
1
assets/en_US_guide_docker_qa.md.4f60dcf8.lean.js
Normal file
1
assets/en_US_guide_docker_qa.md.4f60dcf8.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691117252000}'),r={name:"en_US/guide/docker_qa.md"};function d(s,_,o,n,c,i){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/docker_thanks.md"};function r(o,s,c,d,_,i){return t(),a("div")}const m=e(n,[["render",r]]);export{k as __pageData,m as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/docker_thanks.md"};function r(o,s,c,d,_,i){return t(),a("div")}const m=e(n,[["render",r]]);export{k as __pageData,m as default};
|
||||
1
assets/en_US_guide_docker_thanks.md.51f6fece.js
Normal file
1
assets/en_US_guide_docker_thanks.md.51f6fece.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691117252000}'),s={name:"en_US/guide/docker_thanks.md"};function r(n,d,_,o,c,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default};
|
||||
1
assets/en_US_guide_docker_thanks.md.51f6fece.lean.js
Normal file
1
assets/en_US_guide_docker_thanks.md.51f6fece.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691117252000}'),s={name:"en_US/guide/docker_thanks.md"};function r(n,d,_,o,c,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default};
|
||||
File diff suppressed because one or more lines are too long
12
assets/en_US_guide_lxd_extra_config.md.0ce7e7ab.lean.js
Normal file
12
assets/en_US_guide_lxd_extra_config.md.0ce7e7ab.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1691116050000}'),p={name:"en_US/guide/lxd_extra_config.md"},o=n("",41),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as p}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/lxd_install.md"},o=p("",43),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{d as __pageData,h as default};
|
||||
@@ -1,6 +1,6 @@
|
||||
import{_ as s,o as a,c as l,R as p}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`<h1 id="lxd主体安装" tabindex="-1">LXD主体安装 <a class="header-anchor" href="#lxd主体安装" aria-label="Permalink to "LXD主体安装""></a></h1><h2 id="手动安装" tabindex="-1">手动安装 <a class="header-anchor" href="#手动安装" aria-label="Permalink to "手动安装""></a></h2><p>新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行</p><h3 id="关闭防火墙" tabindex="-1">关闭防火墙 <a class="header-anchor" href="#关闭防火墙" aria-label="Permalink to "关闭防火墙""></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update</span></span>
|
||||
import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691117252000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`<h1 id="lxd主体安装" tabindex="-1">LXD主体安装 <a class="header-anchor" href="#lxd主体安装" aria-label="Permalink to "LXD主体安装""></a></h1><h2 id="手动安装" tabindex="-1">手动安装 <a class="header-anchor" href="#手动安装" aria-label="Permalink to "手动安装""></a></h2><p>新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行</p><h3 id="关闭防火墙" tabindex="-1">关闭防火墙 <a class="header-anchor" href="#关闭防火墙" aria-label="Permalink to "关闭防火墙""></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">wget</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dos2unix</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">ufw</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">jq</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-y</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">ufw</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">disable</span></span></code></pre></div><h3 id="开设虚拟内存swap" tabindex="-1">开设虚拟内存SWAP <a class="header-anchor" href="#开设虚拟内存swap" aria-label="Permalink to "开设虚拟内存SWAP""></a></h3><p>内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可</p><p>执行下面命令,输入1,再输入2048,代表开2G虚拟内存</p><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span></span></code></pre></div><h3 id="安装lxd" tabindex="-1">安装LXD <a class="header-anchor" href="#安装lxd" aria-label="Permalink to "安装LXD""></a></h3><p>实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">apt install snapd -y</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">snap install lxd</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">/snap/bin/lxd init</span></span></code></pre></div><p>如果上面的命令中出现下面的错误</p><p>(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))</p><p>使用命令修补后再进行lxd的安装</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">snap install core</span></span></code></pre></div><p>如果无异常,上面三行命令执行结果如下</p><p><img src="https://user-images.githubusercontent.com/103393591/233270028-5a43d0f7-45f5-4175-969e-d4d182cb877a.png" alt="图片"></p><p>一般的选项回车默认即可</p><p>选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB</p><p>提示带auto的更新image的选项记得选no,避免更新占用系统</p><p>测试lxc有没有软连接上</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>如果报错则执行以下命令软连接lxc命令</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">!</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">lxc</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-h</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">></span><span style="color:#C3E88D;">/dev/null</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">2>&1</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">alias lxc="/snap/bin/lxc"</span><span style="color:#89DDFF;">'</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/root/.bashrc</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">source</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#C792EA;">export</span><span style="color:#A6ACCD;"> PATH</span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;">$PATH</span><span style="color:#C3E88D;">:/snap/bin</span></span></code></pre></div><p>连接后再测试lxc命令是否有报错找不到</p><h2 id="一键安装" tabindex="-1">一键安装 <a class="header-anchor" href="#一键安装" aria-label="Permalink to "一键安装""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死</p></div><ul><li>环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)</li></ul><p><strong>如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败</strong></p><p>这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和</p><p>环境安装过程中<strong>可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准</strong></p><p>如果第二次执行安装命令仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题</p><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span></span></code></pre></div><p>例子:</p><p>如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入<code>2048</code>和<code>15</code></p>`,43),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{d as __pageData,h as default};
|
||||
<span class="line"><span style="color:#C792EA;">export</span><span style="color:#A6ACCD;"> PATH</span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;">$PATH</span><span style="color:#C3E88D;">:/snap/bin</span></span></code></pre></div><p>连接后再测试lxc命令是否有报错找不到</p><h2 id="一键安装" tabindex="-1">一键安装 <a class="header-anchor" href="#一键安装" aria-label="Permalink to "一键安装""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死</p></div><ul><li>环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)</li></ul><p><strong>如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败</strong></p><p>这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和</p><p>环境安装过程中<strong>可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准</strong></p><p>如果第二次执行安装命令仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题</p><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span></span></code></pre></div><p>例子:</p><p>如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入<code>2048</code>和<code>15</code></p>`,43),t=[o];function e(c,r,C,i,y,D){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default};
|
||||
6
assets/en_US_guide_lxd_install.md.91e9fc88.lean.js
Normal file
6
assets/en_US_guide_lxd_install.md.91e9fc88.lean.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691117252000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`<h1 id="lxd主体安装" tabindex="-1">LXD主体安装 <a class="header-anchor" href="#lxd主体安装" aria-label="Permalink to "LXD主体安装""></a></h1><h2 id="手动安装" tabindex="-1">手动安装 <a class="header-anchor" href="#手动安装" aria-label="Permalink to "手动安装""></a></h2><p>新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行</p><h3 id="关闭防火墙" tabindex="-1">关闭防火墙 <a class="header-anchor" href="#关闭防火墙" aria-label="Permalink to "关闭防火墙""></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">wget</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dos2unix</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">ufw</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">jq</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-y</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">ufw</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">disable</span></span></code></pre></div><h3 id="开设虚拟内存swap" tabindex="-1">开设虚拟内存SWAP <a class="header-anchor" href="#开设虚拟内存swap" aria-label="Permalink to "开设虚拟内存SWAP""></a></h3><p>内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可</p><p>执行下面命令,输入1,再输入2048,代表开2G虚拟内存</p><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">swap.sh</span></span></code></pre></div><h3 id="安装lxd" tabindex="-1">安装LXD <a class="header-anchor" href="#安装lxd" aria-label="Permalink to "安装LXD""></a></h3><p>实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">apt install snapd -y</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">snap install lxd</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">/snap/bin/lxd init</span></span></code></pre></div><p>如果上面的命令中出现下面的错误</p><p>(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))</p><p>使用命令修补后再进行lxd的安装</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">snap install core</span></span></code></pre></div><p>如果无异常,上面三行命令执行结果如下</p><p><img src="https://user-images.githubusercontent.com/103393591/233270028-5a43d0f7-45f5-4175-969e-d4d182cb877a.png" alt="图片"></p><p>一般的选项回车默认即可</p><p>选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB</p><p>提示带auto的更新image的选项记得选no,避免更新占用系统</p><p>测试lxc有没有软连接上</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>如果报错则执行以下命令软连接lxc命令</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">!</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">lxc</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-h</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">></span><span style="color:#C3E88D;">/dev/null</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">2>&1</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">alias lxc="/snap/bin/lxc"</span><span style="color:#89DDFF;">'</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/root/.bashrc</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">source</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#C792EA;">export</span><span style="color:#A6ACCD;"> PATH</span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;">$PATH</span><span style="color:#C3E88D;">:/snap/bin</span></span></code></pre></div><p>连接后再测试lxc命令是否有报错找不到</p><h2 id="一键安装" tabindex="-1">一键安装 <a class="header-anchor" href="#一键安装" aria-label="Permalink to "一键安装""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死</p></div><ul><li>环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)</li></ul><p><strong>如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败</strong></p><p>这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和</p><p>环境安装过程中<strong>可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准</strong></p><p>如果第二次执行安装命令仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题</p><p>国际</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span></span></code></pre></div><p>国内</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">lxdinstall.sh</span></span></code></pre></div><p>例子:</p><p>如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入<code>2048</code>和<code>15</code></p>`,43),t=[o];function e(c,r,C,i,y,D){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default};
|
||||
File diff suppressed because one or more lines are too long
31
assets/en_US_guide_lxd_lxc.md.907a89ae.lean.js
Normal file
31
assets/en_US_guide_lxd_lxc.md.907a89ae.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1691116050000}'),p={name:"en_US/guide/lxd_lxc.md"},o=n("",90),e=[o];function t(c,r,C,y,i,A){return a(),l("div",null,e)}const d=s(p,[["render",t]]);export{h as __pageData,d as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691116050000}'),l={name:"en_US/guide/lxd_precheck.md"},r=i("",14),s=[r];function c(o,p,n,h,d,u){return a(),t("div",null,s)}const g=e(l,[["render",c]]);export{b as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691116050000}'),l={name:"en_US/guide/lxd_precheck.md"},r=i('<h1 id="系统与硬件配置要求" tabindex="-1">系统与硬件配置要求 <a class="header-anchor" href="#系统与硬件配置要求" aria-label="Permalink to "系统与硬件配置要求""></a></h1><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),s=[r];function c(o,p,n,h,d,u){return a(),t("div",null,s)}const g=e(l,[["render",c]]);export{b as __pageData,g as default};
|
||||
import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691117252000}'),s={name:"en_US/guide/lxd_precheck.md"},l=i('<h1 id="系统与硬件配置要求" tabindex="-1">系统与硬件配置要求 <a class="header-anchor" href="#系统与硬件配置要求" aria-label="Permalink to "系统与硬件配置要求""></a></h1><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),r=[l];function p(n,c,o,h,d,u){return a(),t("div",null,r)}const g=e(s,[["render",p]]);export{_ as __pageData,g as default};
|
||||
1
assets/en_US_guide_lxd_precheck.md.74a606cf.lean.js
Normal file
1
assets/en_US_guide_lxd_precheck.md.74a606cf.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691117252000}'),s={name:"en_US/guide/lxd_precheck.md"},l=i('<h1 id="系统与硬件配置要求" tabindex="-1">系统与硬件配置要求 <a class="header-anchor" href="#系统与硬件配置要求" aria-label="Permalink to "系统与硬件配置要求""></a></h1><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),r=[l];function p(n,c,o,h,d,u){return a(),t("div",null,r)}const g=e(s,[["render",p]]);export{_ as __pageData,g as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as a,o as e,c as s,R as t}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691116050000}'),l={name:"en_US/guide/lxd_qa.md"},o=t("",19),p=[o];function n(r,c,i,d,u,h){return e(),s("div",null,p)}const m=a(l,[["render",n]]);export{g as __pageData,m as default};
|
||||
@@ -1,2 +1,2 @@
|
||||
import{_ as a,o as e,c as s,R as t}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691116050000}'),l={name:"en_US/guide/lxd_qa.md"},o=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>执行这个命令后尝试</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>看看lxc命令是否已修复</p><h2 id="开设centos7发现报错cgroupv1不支持怎么办" tabindex="-1">开设centos7发现报错CGroupV1不支持怎么办 <a class="header-anchor" href="#开设centos7发现报错cgroupv1不支持怎么办" aria-label="Permalink to "开设centos7发现报错CGroupV1不支持怎么办""></a></h2><p>启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。</p><p>请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。</p><p>编辑<code>/etc/default/grub</code>文件,将<code>GRUB_CMDLINE_LINUX_DEFAULT</code>中的参数末尾加上<code>cgroup_enable=memory</code>。</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</span></span></code></pre></div><p>保存文件并运行以下命令更新GRUB引导。</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update-grub</span></span></code></pre></div><p>重启系统,使更改生效</p><p>如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试</p><h2 id="目前已验证可开带独立ipv6地址容器的vps商家" tabindex="-1">目前已验证可开带独立IPV6地址容器的VPS商家 <a class="header-anchor" href="#目前已验证可开带独立ipv6地址容器的vps商家" aria-label="Permalink to "目前已验证可开带独立IPV6地址容器的VPS商家""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> 中的 美国凤凰城 regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> 中的 德国AMD 促销款</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> 中的 德国AMD 促销款</p>`,19),p=[o];function n(r,c,i,d,u,h){return e(),s("div",null,p)}const m=a(l,[["render",n]]);export{g as __pageData,m as default};
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691117252000}'),l={name:"en_US/guide/lxd_qa.md"},p=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>执行这个命令后尝试</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>看看lxc命令是否已修复</p><h2 id="开设centos7发现报错cgroupv1不支持怎么办" tabindex="-1">开设centos7发现报错CGroupV1不支持怎么办 <a class="header-anchor" href="#开设centos7发现报错cgroupv1不支持怎么办" aria-label="Permalink to "开设centos7发现报错CGroupV1不支持怎么办""></a></h2><p>启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。</p><p>请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。</p><p>编辑<code>/etc/default/grub</code>文件,将<code>GRUB_CMDLINE_LINUX_DEFAULT</code>中的参数末尾加上<code>cgroup_enable=memory</code>。</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</span></span></code></pre></div><p>保存文件并运行以下命令更新GRUB引导。</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update-grub</span></span></code></pre></div><p>重启系统,使更改生效</p><p>如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试</p><h2 id="目前已验证可开带独立ipv6地址容器的vps商家" tabindex="-1">目前已验证可开带独立IPV6地址容器的VPS商家 <a class="header-anchor" href="#目前已验证可开带独立ipv6地址容器的vps商家" aria-label="Permalink to "目前已验证可开带独立IPV6地址容器的VPS商家""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> 中的 美国凤凰城 regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> 中的 德国AMD 促销款</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> 中的 德国AMD 促销款</p>`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const b=a(l,[["render",n]]);export{_ as __pageData,b as default};
|
||||
2
assets/en_US_guide_lxd_qa.md.858bc5f5.lean.js
Normal file
2
assets/en_US_guide_lxd_qa.md.858bc5f5.lean.js
Normal file
@@ -0,0 +1,2 @@
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691117252000}'),l={name:"en_US/guide/lxd_qa.md"},p=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>执行这个命令后尝试</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>看看lxc命令是否已修复</p><h2 id="开设centos7发现报错cgroupv1不支持怎么办" tabindex="-1">开设centos7发现报错CGroupV1不支持怎么办 <a class="header-anchor" href="#开设centos7发现报错cgroupv1不支持怎么办" aria-label="Permalink to "开设centos7发现报错CGroupV1不支持怎么办""></a></h2><p>启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。</p><p>请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。</p><p>编辑<code>/etc/default/grub</code>文件,将<code>GRUB_CMDLINE_LINUX_DEFAULT</code>中的参数末尾加上<code>cgroup_enable=memory</code>。</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</span></span></code></pre></div><p>保存文件并运行以下命令更新GRUB引导。</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update-grub</span></span></code></pre></div><p>重启系统,使更改生效</p><p>如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试</p><h2 id="目前已验证可开带独立ipv6地址容器的vps商家" tabindex="-1">目前已验证可开带独立IPV6地址容器的VPS商家 <a class="header-anchor" href="#目前已验证可开带独立ipv6地址容器的vps商家" aria-label="Permalink to "目前已验证可开带独立IPV6地址容器的VPS商家""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> 中的 美国凤凰城 regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> 中的 德国AMD 促销款</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> 中的 德国AMD 促销款</p>`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const b=a(l,[["render",n]]);export{_ as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,o as e,c as r,R as a}from"./chunks/framework.1625126e.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://github.com/lxc/lxd" target="_blank" rel="noreferrer">https://github.com/lxc/lxd</a></p><p><a href="https://lxdware.com/" target="_blank" rel="noreferrer">https://lxdware.com/</a></p><p><a href="https://discuss.linuxcontainers.org/" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/</a></p><p><a href="https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4</a></p><p><a href="https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3</a></p><p><a href="https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028</a></p><p><a href="https://github.com/turtle0x1/LxdMosaic" target="_blank" rel="noreferrer">https://github.com/turtle0x1/LxdMosaic</a></p><p><a href="https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html" target="_blank" rel="noreferrer">https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html</a></p><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> <a href="https://github.com/fscarmen" target="_blank" rel="noreferrer">@fscarmen</a> 提供的指导</p>',10),o=[s];function i(c,l,p,d,h,_){return e(),r("div",null,o)}const g=t(n,[["render",i]]);export{f as __pageData,g as default};
|
||||
import{_ as t,v as e,b as r,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691117252000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://github.com/lxc/lxd" target="_blank" rel="noreferrer">https://github.com/lxc/lxd</a></p><p><a href="https://lxdware.com/" target="_blank" rel="noreferrer">https://lxdware.com/</a></p><p><a href="https://discuss.linuxcontainers.org/" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/</a></p><p><a href="https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4</a></p><p><a href="https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3</a></p><p><a href="https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028</a></p><p><a href="https://github.com/turtle0x1/LxdMosaic" target="_blank" rel="noreferrer">https://github.com/turtle0x1/LxdMosaic</a></p><p><a href="https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html" target="_blank" rel="noreferrer">https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html</a></p><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> <a href="https://github.com/fscarmen" target="_blank" rel="noreferrer">@fscarmen</a> 提供的指导</p>',10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const x=t(n,[["render",i]]);export{g as __pageData,x as default};
|
||||
1
assets/en_US_guide_lxd_thanks.md.0e43d200.lean.js
Normal file
1
assets/en_US_guide_lxd_thanks.md.0e43d200.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,v as e,b as r,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691117252000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://github.com/lxc/lxd" target="_blank" rel="noreferrer">https://github.com/lxc/lxd</a></p><p><a href="https://lxdware.com/" target="_blank" rel="noreferrer">https://lxdware.com/</a></p><p><a href="https://discuss.linuxcontainers.org/" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/</a></p><p><a href="https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4</a></p><p><a href="https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3</a></p><p><a href="https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028" target="_blank" rel="noreferrer">https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028</a></p><p><a href="https://github.com/turtle0x1/LxdMosaic" target="_blank" rel="noreferrer">https://github.com/turtle0x1/LxdMosaic</a></p><p><a href="https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/index.html" target="_blank" rel="noreferrer">https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html</a></p><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> <a href="https://github.com/fscarmen" target="_blank" rel="noreferrer">@fscarmen</a> 提供的指导</p>',10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const x=t(n,[["render",i]]);export{g as __pageData,x as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as t,o as e,c as r,R as a}from"./chunks/framework.1625126e.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691116050000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a("",10),o=[s];function i(c,l,p,d,h,_){return e(),r("div",null,o)}const g=t(n,[["render",i]]);export{f as __pageData,g as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as e}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1691116050000}'),p={name:"en_US/guide/pve_install.md"},t=e("",31),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
1
assets/en_US_guide_pve_install.md.f3761b3b.lean.js
Normal file
1
assets/en_US_guide_pve_install.md.f3761b3b.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/pve_kvm.md"},p=n("",90),e=[p];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{d as __pageData,h as default};
|
||||
File diff suppressed because one or more lines are too long
26
assets/en_US_guide_pve_kvm.md.e90a6fe0.lean.js
Normal file
26
assets/en_US_guide_pve_kvm.md.e90a6fe0.lean.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
assets/en_US_guide_pve_lxc.md.3266c322.lean.js
Normal file
1
assets/en_US_guide_pve_lxc.md.3266c322.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1691116050000}'),p={name:"en_US/guide/pve_lxc.md"},o=n("",46),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as e,R as l}from"./chunks/framework.1625126e.js";const y=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1691116050000}'),p={name:"en_US/guide/pve_precheck.md"},t=l("",24),n=[t];function o(r,c,i,h,d,C){return a(),e("div",null,n)}const D=s(p,[["render",o]]);export{y as __pageData,D as default};
|
||||
File diff suppressed because one or more lines are too long
1
assets/en_US_guide_pve_precheck.md.dfb5833d.lean.js
Normal file
1
assets/en_US_guide_pve_precheck.md.dfb5833d.lean.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
import{_ as a,o as e,c as s,R as r}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691116050000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="安装pve成功但重启后失联" tabindex="-1">安装PVE成功但重启后失联 <a class="header-anchor" href="#安装pve成功但重启后失联" aria-label="Permalink to "安装PVE成功但重启后失联""></a></h2><p>如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691117252000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="安装pve成功但重启后失联" tabindex="-1">安装PVE成功但重启后失联 <a class="header-anchor" href="#安装pve成功但重启后失联" aria-label="Permalink to "安装PVE成功但重启后失联""></a></h2><p>如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
<span class="line"><span style="color:#89DDFF;font-style:italic;">if</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">!</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-q</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">^post-up /sbin/ethtool</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span><span style="color:#89DDFF;">;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;font-style:italic;">then</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chattr</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">post-up /sbin/ethtool -K </span><span style="color:#A6ACCD;">$auto_interface</span><span style="color:#C3E88D;"> tx off rx off</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
6
assets/en_US_guide_pve_qa.md.7afb5e99.lean.js
Normal file
6
assets/en_US_guide_pve_qa.md.7afb5e99.lean.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691117252000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="安装pve成功但重启后失联" tabindex="-1">安装PVE成功但重启后失联 <a class="header-anchor" href="#安装pve成功但重启后失联" aria-label="Permalink to "安装PVE成功但重启后失联""></a></h2><p>如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
<span class="line"><span style="color:#89DDFF;font-style:italic;">if</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">!</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-q</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">^post-up /sbin/ethtool</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span><span style="color:#89DDFF;">;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;font-style:italic;">then</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chattr</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">post-up /sbin/ethtool -K </span><span style="color:#A6ACCD;">$auto_interface</span><span style="color:#C3E88D;"> tx off rx off</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chattr</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
<span class="line"><span style="color:#89DDFF;font-style:italic;">fi</span></span></code></pre></div><p>然后将重启失联的机器报给 <a href="https://t.me/spiritlhl_bot" target="_blank" rel="noreferrer">@spiritlhl_bot</a> 待更新脚本自动修复</p><h2 id="安装pve失败" tabindex="-1">安装PVE失败 <a class="header-anchor" href="#安装pve失败" aria-label="Permalink to "安装PVE失败""></a></h2><p>如果有什么机器安装不了,着急的可以尝试使用以下仓库的脚本先重装为debian11先</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 11 -pwd 'oneclickvirt139'</span></span></code></pre></div><p>此时dd后的系统用户名为<code>root</code>,密码为<code>oneclickvirt139</code></p><p>如果有空或者还是不行,请联系 <a href="https://t.me/spiritlhl_bot" target="_blank" rel="noreferrer">@spiritlhl_bot</a> 尝试</p><h2 id="目前已验证的vps商家" tabindex="-1">目前已验证的VPS商家 <a class="header-anchor" href="#目前已验证的vps商家" aria-label="Permalink to "目前已验证的VPS商家""></a></h2><h3 id="可开设kvm虚拟化的nat的商家" tabindex="-1">可开设KVM虚拟化的NAT的商家 <a class="header-anchor" href="#可开设kvm虚拟化的nat的商家" aria-label="Permalink to "可开设KVM虚拟化的NAT的商家""></a></h3><p><a href="https://www.interserver.net/r/802990" target="_blank" rel="noreferrer">interserver</a> 中的独立服务器</p><p><a href="https://my.frantech.ca/aff.php?aff=5522" target="_blank" rel="noreferrer">frantech</a> 中的拉斯维加斯第二档</p><p><a href="https://www.eugamehost.com/clients/aff.php?aff=194" target="_blank" rel="noreferrer">eugamehost</a> 中的美国凤凰城黑五促销款</p><p><a href="http://amhost.net/vps/?cid=29317" target="_blank" rel="noreferrer">amhost</a> 中的测试款</p><p><a href="https://m.do.co/c/e9712622ee89" target="_blank" rel="noreferrer">digitalocean</a> 中的 Perminu Intel 和 Regular 4核款</p><p><a href="https://hosting.skrime.eu/a/server" target="_blank" rel="noreferrer">skrime</a> 中的 AMD Ryzen KVM Server 最低配款</p><p><a href="https://webdock.io/en?maff=wdaff--150" target="_blank" rel="noreferrer">webdock</a> 中的 AMD KVM Server</p><p><a href="https://clck.ru/33VQmc" target="_blank" rel="noreferrer">4vps</a> 中的 俄罗斯和希腊 测试款</p><p><a href="https://deploy.hostaris.com/" target="_blank" rel="noreferrer">hostaris</a> 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)</p><p><a href="https://www.adtaq.com/" target="_blank" rel="noreferrer">adtaq</a> 中的最低配存储KVM服务器</p><p><a href="https://www.nocix.net/" target="_blank" rel="noreferrer">nocix</a> 中的独立服务器</p><h3 id="只可开设lxc虚拟化的nat的商家" tabindex="-1">只可开设LXC虚拟化的NAT的商家 <a class="header-anchor" href="#只可开设lxc虚拟化的nat的商家" aria-label="Permalink to "只可开设LXC虚拟化的NAT的商家""></a></h3><p><a href="https://curl.qcloud.com/tPrMnfZm" target="_blank" rel="noreferrer">腾讯云</a> 中的无忧款和特惠款(学生机)</p><p><a href="https://my.spectraip.net/aff.php?aff=35" target="_blank" rel="noreferrer">spectraip</a> 中的KVM服务器</p><p><a href="https://www.linode.com/lp/refer/?r=9296554d01ecacaa0be56892fd969b557722becd" target="_blank" rel="noreferrer">Linode</a> 中美国专用CPU的最低配</p><p><a href="https://cloud.hosthatch.com/a/2450" target="_blank" rel="noreferrer">hosthatch</a> 中的特价高配服务器</p><p><a href="https://hetzner.cloud/?ref=CnWVr0FGneUl" target="_blank" rel="noreferrer">hetzner</a> 的cloud服务器</p><p><a href="https://cloud.rackdog.com/referral/bx8fms" target="_blank" rel="noreferrer">rackdog</a> 的浮动IP的服务器</p><p><a href="https://www.vultr.com/?ref=9124520-8H" target="_blank" rel="noreferrer">vultr</a> 的Cloud普通服务器</p><p><a href="https://portal.azure.com/#create/Microsoft.VirtualMachine-ARM" target="_blank" rel="noreferrer">azure</a> 的普通机器</p><h3 id="已知暂时不可用未适配的商家" tabindex="-1">已知暂时不可用未适配的商家 <a class="header-anchor" href="#已知暂时不可用未适配的商家" aria-label="Permalink to "已知暂时不可用未适配的商家""></a></h3><p>OVH</p>`,34),o=[n];function l(p,c,h,i,f,D){return e(),s("div",null,o)}const C=a(t,[["render",l]]);export{d as __pageData,C as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as a,o as e,c as s,R as r}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691116050000}'),t={name:"en_US/guide/pve_qa.md"},n=r("",34),o=[n];function l(p,c,h,i,f,D){return e(),s("div",null,o)}const C=a(t,[["render",l]]);export{d as __pageData,C as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',12),n=[p];function s(l,h,i,c,m,_){return r(),t("div",null,n)}const d=e(o,[["render",s]]);export{g as __pageData,d as default};
|
||||
import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',12),s=[p];function n(h,l,i,m,c,b){return r(),t("div",null,s)}const _=e(o,[["render",n]]);export{f as __pageData,_ as default};
|
||||
1
assets/en_US_guide_pve_thanks.md.21c7ae62.lean.js
Normal file
1
assets/en_US_guide_pve_thanks.md.21c7ae62.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691117252000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',12),s=[p];function n(h,l,i,m,c,b){return r(),t("div",null,s)}const _=e(o,[["render",n]]);export{f as __pageData,_ as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691116050000}'),o={name:"en_US/guide/pve_thanks.md"},p=a("",12),n=[p];function s(l,h,i,c,m,_){return r(),t("div",null,n)}const d=e(o,[["render",s]]);export{g as __pageData,d as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691116050000}'),i={name:"en_US/index.md"};function n(o,r,s,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691117252000}'),i={name:"en_US/index.md"};function n(s,r,o,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691116050000}'),i={name:"en_US/index.md"};function n(o,r,s,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691117252000}'),i={name:"en_US/index.md"};function n(s,r,o,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as t,o as e,c as a,R as r}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691116050000}'),o={name:"guide/dashboard.md"},i=r("",25),s=[i];function p(c,l,h,n,d,m){return e(),a("div",null,s)}const _=t(o,[["render",p]]);export{b as __pageData,_ as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,o as e,c as a,R as r}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691116050000}'),o={name:"guide/dashboard.md"},i=r('<h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h2><p>需要虚拟化出服务器,你需要:</p><ol><li>一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速</p></div><ol start="2"><li>本地可以稳定连接SSH,如果不能稳定连接,请使用<code>screen</code>命令创建窗口后,在窗口内执行命令</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>不会用screen命令的,自行查找相关教程学习</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(c,l,h,n,d,m){return e(),a("div",null,s)}const _=t(o,[["render",p]]);export{b as __pageData,_ as default};
|
||||
import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691117252000}'),o={name:"guide/dashboard.md"},i=r('<h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h2><p>需要虚拟化出服务器,你需要:</p><ol><li>一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速</p></div><ol start="2"><li>本地可以稳定连接SSH,如果不能稳定连接,请使用<code>screen</code>命令创建窗口后,在窗口内执行命令</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>不会用screen命令的,自行查找相关教程学习</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(c,l,h,n,d,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
1
assets/guide_dashboard.md.ef7f9430.lean.js
Normal file
1
assets/guide_dashboard.md.ef7f9430.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691117252000}'),o={name:"guide/dashboard.md"},i=r('<h2 id="准备工作" tabindex="-1">准备工作 <a class="header-anchor" href="#准备工作" aria-label="Permalink to "准备工作""></a></h2><p>需要虚拟化出服务器,你需要:</p><ol><li>一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速</p></div><ol start="2"><li>本地可以稳定连接SSH,如果不能稳定连接,请使用<code>screen</code>命令创建窗口后,在窗口内执行命令</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>不会用screen命令的,自行查找相关教程学习</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxc&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(c,l,h,n,d,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user