mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-06-19 21:37:33 +08:00
deploy: f7774c32cb
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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 +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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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 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":1691115874000}'),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 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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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 +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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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 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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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,4 +1,4 @@
|
||||
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":1691115874000}'),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,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>
|
||||
<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>
|
||||
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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,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":1691115874000}'),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>
|
||||
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};
|
||||
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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};
|
||||
@@ -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":1691115874000}'),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,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>
|
||||
<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>
|
||||
@@ -1 +1 @@
|
||||
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":1691115874000}'),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};
|
||||
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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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,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};
|
||||
@@ -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":1691115874000}'),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};
|
||||
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 a,o as e,c as t,R as s}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691115874000}'),o={name:"guide/dashboardq.md"},r=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),p=[r];function c(d,n,i,l,_,h){return e(),t("div",null,p)}const u=a(o,[["render",c]]);export{m as __pageData,u as default};
|
||||
import{_ as a,o as e,c as t,R as s}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691116050000}'),o={name:"guide/dashboardq.md"},r=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),p=[r];function c(d,n,i,l,_,h){return e(),t("div",null,p)}const u=a(o,[["render",c]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,o as e,c as t,R as s}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691115874000}'),o={name:"guide/dashboardq.md"},r=s("",4),p=[r];function c(d,n,i,l,_,h){return e(),t("div",null,p)}const u=a(o,[["render",c]]);export{m as __pageData,u as default};
|
||||
import{_ as a,o as e,c as t,R as s}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691116050000}'),o={name:"guide/dashboardq.md"},r=s("",4),p=[r];function c(d,n,i,l,_,h){return e(),t("div",null,p)}const u=a(o,[["render",c]]);export{m as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1691115874000}'),n={name:"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};
|
||||
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":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1691116050000}'),n={name:"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};
|
||||
@@ -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":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691115874000}'),o={name:"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 h=s(o,[["render",t]]);export{D as __pageData,h as default};
|
||||
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":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691116050000}'),o={name:"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 h=s(o,[["render",t]]);export{D as __pageData,h as default};
|
||||
@@ -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":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691115874000}'),o={name:"guide/docker_install.md"},n=p("",6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{D as __pageData,h as default};
|
||||
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":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691116050000}'),o={name:"guide/docker_install.md"},n=p("",6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{D as __pageData,h 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":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691115874000}'),o={name:"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(s,d,n,h,_,l){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{u as __pageData,f as default};
|
||||
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":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691116050000}'),o={name:"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(s,d,n,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":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691115874000}'),o={name:"guide/docker_precheck.md"},c=t("",12),i=[c];function p(s,d,n,h,_,l){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{u as __pageData,f as default};
|
||||
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":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691116050000}'),o={name:"guide/docker_precheck.md"},c=t("",12),i=[c];function p(s,d,n,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 t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691115874000}'),r={name:"guide/docker_qa.md"};function o(c,d,s,n,_,i){return t(),a("div")}const f=e(r,[["render",o]]);export{m as __pageData,f as default};
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691116050000}'),r={name:"guide/docker_qa.md"};function o(c,d,s,n,_,i){return t(),a("div")}const f=e(r,[["render",o]]);export{m as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691115874000}'),r={name:"guide/docker_qa.md"};function o(c,d,s,n,_,i){return t(),a("div")}const f=e(r,[["render",o]]);export{m as __pageData,f as default};
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691116050000}'),r={name:"guide/docker_qa.md"};function o(c,d,s,n,_,i){return t(),a("div")}const f=e(r,[["render",o]]);export{m as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691115874000}'),r={name:"guide/docker_thanks.md"};function o(s,c,d,n,_,i){return t(),a("div")}const m=e(r,[["render",o]]);export{k as __pageData,m as default};
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691116050000}'),r={name:"guide/docker_thanks.md"};function o(s,c,d,n,_,i){return t(),a("div")}const m=e(r,[["render",o]]);export{k as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691115874000}'),r={name:"guide/docker_thanks.md"};function o(s,c,d,n,_,i){return t(),a("div")}const m=e(r,[["render",o]]);export{k as __pageData,m as default};
|
||||
import{_ as e,o as t,c as a}from"./chunks/framework.1625126e.js";const k=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691116050000}'),r={name:"guide/docker_thanks.md"};function o(s,c,d,n,_,i){return t(),a("div")}const m=e(r,[["render",o]]);export{k as __pageData,m as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1691115874000}'),p={name:"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};
|
||||
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":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1691116050000}'),p={name:"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,4 +1,4 @@
|
||||
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":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691115874000}'),n={name:"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,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":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691116050000}'),n={name:"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>
|
||||
@@ -1 +1 @@
|
||||
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":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691115874000}'),n={name:"guide/lxd_install.md"},o=p("",43),t=[o];function e(c,r,C,i,y,A){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default};
|
||||
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":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691116050000}'),n={name:"guide/lxd_install.md"},o=p("",43),t=[o];function e(c,r,C,i,y,A){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
@@ -1 +1 @@
|
||||
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":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1691115874000}'),p={name:"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};
|
||||
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":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1691116050000}'),p={name:"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 +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":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691115874000}'),l={name:"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,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":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691116050000}'),l={name:"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};
|
||||
@@ -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":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691115874000}'),l={name:"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};
|
||||
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":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691116050000}'),l={name:"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,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":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691115874000}'),l={name:"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>
|
||||
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":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691116050000}'),l={name:"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};
|
||||
@@ -1 +1 @@
|
||||
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":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691115874000}'),l={name:"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};
|
||||
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":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691116050000}'),l={name:"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 +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":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691115874000}'),n={name:"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 g=t(n,[["render",i]]);export{f as __pageData,g as default};
|
||||
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":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691116050000}'),n={name:"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 g=t(n,[["render",i]]);export{f as __pageData,g 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":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691115874000}'),n={name:"guide/lxd_thanks.md"},s=a("",10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const g=t(n,[["render",i]]);export{f as __pageData,g as default};
|
||||
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":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691116050000}'),n={name:"guide/lxd_thanks.md"},s=a("",10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const g=t(n,[["render",i]]);export{f as __pageData,g as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1691115874000}'),p={name:"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};
|
||||
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":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1691116050000}'),p={name:"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 +1 @@
|
||||
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":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1691115874000}'),o={name:"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};
|
||||
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":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1691116050000}'),o={name:"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
@@ -1 +1 @@
|
||||
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":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1691115874000}'),p={name:"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};
|
||||
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":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1691116050000}'),p={name:"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};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
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":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1691115874000}'),p={name:"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};
|
||||
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":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1691116050000}'),p={name:"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};
|
||||
@@ -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":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691115874000}'),t={name:"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,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":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691116050000}'),t={name:"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>
|
||||
@@ -1 +1 @@
|
||||
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":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691115874000}'),t={name:"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};
|
||||
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":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691116050000}'),t={name:"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":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691115874000}'),o={name:"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,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691116050000}'),o={name:"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};
|
||||
@@ -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":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691115874000}'),o={name:"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};
|
||||
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":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691116050000}'),o={name:"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 t,o as e,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","description":"","frontmatter":{"layout":"home","title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键脚本安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机/容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu 的长期维护版本开发,如需使用请尽量保证宿主机系统与开发环境一致"},{"title":"自带内外网端口转发","details":"支持自动的内网端口转发,含TCP、UDP协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器/虚拟机"},{"title":"多系统支持","details":"开设出的容器/虚拟机已支持多系统,涵盖几乎所有主流系统"},{"title":"自限制滥用","details":"部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1691115874000}'),i={name:"index.md"};function s(l,n,o,d,r,c){return e(),a("div")}const _=t(i,[["render",s]]);export{m as __pageData,_ as default};
|
||||
import{_ as t,o as e,c as a}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","description":"","frontmatter":{"layout":"home","title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键脚本安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机/容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu 的长期维护版本开发,如需使用请尽量保证宿主机系统与开发环境一致"},{"title":"自带内外网端口转发","details":"支持自动的内网端口转发,含TCP、UDP协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器/虚拟机"},{"title":"多系统支持","details":"开设出的容器/虚拟机已支持多系统,涵盖几乎所有主流系统"},{"title":"自限制滥用","details":"部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1691116050000}'),i={name:"index.md"};function s(l,n,o,d,r,c){return e(),a("div")}const _=t(i,[["render",s]]);export{m as __pageData,_ 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