mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-06-20 22:46:04 +08:00
deploy: 6a60eb0dc7
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":1687228991000}'),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":1687235316000}'),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 l}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1687228991000}'),t={name:"case/case2.md"},n=l("",64),o=[n];function p(c,r,i,h,b,d){return a(),e("div",null,o)}const u=s(t,[["render",p]]);export{g as __pageData,u as default};
|
||||
import{_ as s,o as a,c as e,R as l}from"./chunks/framework.1625126e.js";const g=JSON.parse('{"title":"仓库","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1687235316000}'),t={name:"case/case2.md"},n=l("",64),o=[n];function p(c,r,i,h,b,d){return a(),e("div",null,o)}const u=s(t,[["render",p]]);export{g as __pageData,u 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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1687228991000}'),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><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><h3 id="通过lxd-lxc命令批量或单独开设nat服务器以及维护" tabindex="-1">通过LXD/LXC命令批量或单独开设NAT服务器以及维护 <a class="header-anchor" href="#通过lxd-lxc命令批量或单独开设nat服务器以及维护" aria-label="Permalink to "通过LXD/LXC命令批量或单独开设NAT服务器以及维护""></a></h3><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><h3 id="通过docker批量或单独开设nat服务器" tabindex="-1">通过docker批量或单独开设NAT服务器 <a class="header-anchor" href="#通过docker批量或单独开设nat服务器" aria-label="Permalink to "通过docker批量或单独开设NAT服务器""></a></h3><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><br><br>',19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m as default};
|
||||
import{_ as t,o as a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1687235316000}'),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><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><h3 id="通过lxd-lxc命令批量或单独开设nat服务器以及维护" tabindex="-1">通过LXD/LXC命令批量或单独开设NAT服务器以及维护 <a class="header-anchor" href="#通过lxd-lxc命令批量或单独开设nat服务器以及维护" aria-label="Permalink to "通过LXD/LXC命令批量或单独开设NAT服务器以及维护""></a></h3><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><h3 id="通过docker批量或单独开设nat服务器" tabindex="-1">通过docker批量或单独开设NAT服务器 <a class="header-anchor" href="#通过docker批量或单独开设nat服务器" aria-label="Permalink to "通过docker批量或单独开设NAT服务器""></a></h3><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><br><br>',19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,o as a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1687228991000}'),o={name:"en_US/guide/dashboard.md"},i=r("",19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m as default};
|
||||
import{_ as t,o as a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1687235316000}'),o={name:"en_US/guide/dashboard.md"},i=r("",19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m 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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 D=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1687228991000}'),n={name:"en_US/guide/docker_build.md"},e=o("",34),p=[e];function t(c,r,C,i,y,d){return a(),l("div",null,p)}const h=s(n,[["render",t]]);export{D as __pageData,h as default};
|
||||
import{_ as s,o as a,c as l,R as o}from"./chunks/framework.1625126e.js";const D=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1687235316000}'),n={name:"en_US/guide/docker_build.md"},e=o("",34),p=[e];function t(c,r,C,i,y,d){return a(),l("div",null,p)}const h=s(n,[["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":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1687228991000}'),o={name:"en_US/guide/docker_precheck.md"},c=a('<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>',11),p=[c];function i(s,n,d,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);export{u as __pageData,f as default};
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1687235316000}'),o={name:"en_US/guide/docker_precheck.md"},c=a('<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>',11),p=[c];function i(s,n,d,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1687228991000}'),o={name:"en_US/guide/docker_precheck.md"},c=a("",11),p=[c];function i(s,n,d,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);export{u as __pageData,f as default};
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1687235316000}'),o={name:"en_US/guide/docker_precheck.md"},c=a("",11),p=[c];function i(s,n,d,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":{},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1687228991000}'),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":{},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1687235316000}'),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":{},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1687228991000}'),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":{},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1687235316000}'),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":{},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1687228991000}'),n={name:"en_US/guide/lxd_install.md"},o=p("",42),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":{},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1687235316000}'),n={name:"en_US/guide/lxd_install.md"},o=p("",42),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 p}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1687228991000}'),n={name:"en_US/guide/lxd_lxc.md"},o=p("",80),e=[o];function t(c,r,C,y,i,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":"LXC虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1687235316000}'),n={name:"en_US/guide/lxd_lxc.md"},o=p("",80),e=[o];function t(c,r,C,y,i,A){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{d as __pageData,h 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":{},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687228991000}'),l={name:"en_US/guide/lxd_precheck.md"},s=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+(推荐),系统越新越好</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>本套脚本开发使用的Ubuntu20,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>一定要在 <code>/root</code> 的路径下运行本仓库脚本,且使用<code>一键脚本</code>的<strong>不要删除</strong>路径下的<code>ssh.sh</code>和<code>config.sh</code>文件</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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":{},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687235316000}'),l={name:"en_US/guide/lxd_precheck.md"},s=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+(推荐),系统越新越好</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>本套脚本开发使用的Ubuntu20,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>一定要在 <code>/root</code> 的路径下运行本仓库脚本,且使用<code>一键脚本</code>的<strong>不要删除</strong>路径下的<code>ssh.sh</code>和<code>config.sh</code>文件</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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":{},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687228991000}'),l={name:"en_US/guide/lxd_precheck.md"},s=i("",14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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":{},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687235316000}'),l={name:"en_US/guide/lxd_precheck.md"},s=i("",14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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 r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1687228991000}'),_={name:"en_US/guide/lxd_qa.md"},s=r('<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>',4),o=[s];function p(n,l,i,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1687235316000}'),_={name:"en_US/guide/lxd_qa.md"},s=r('<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>',4),o=[s];function p(n,l,i,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as t,R as r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1687228991000}'),_={name:"en_US/guide/lxd_qa.md"},s=r("",4),o=[s];function p(n,l,i,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1687235316000}'),_={name:"en_US/guide/lxd_qa.md"},s=r("",4),o=[s];function p(n,l,i,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u 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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 D=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1687228991000}'),o={name:"en_US/guide/pve_install.md"},t=e("",23),p=[t];function n(c,i,r,h,d,C){return a(),l("div",null,p)}const u=s(o,[["render",n]]);export{D as __pageData,u as default};
|
||||
import{_ as s,o as a,c as l,R as e}from"./chunks/framework.1625126e.js";const D=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1687235316000}'),o={name:"en_US/guide/pve_install.md"},t=e("",23),p=[t];function n(c,i,r,h,d,C){return a(),l("div",null,p)}const u=s(o,[["render",n]]);export{D 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 h=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1687228991000}'),p={name:"en_US/guide/pve_kvm.md"},o=n("",60),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const m=s(p,[["render",t]]);export{h as __pageData,m as default};
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const h=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1687235316000}'),p={name:"en_US/guide/pve_kvm.md"},o=n("",60),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const m=s(p,[["render",t]]);export{h 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 h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1687228991000}'),p={name:"en_US/guide/pve_lxc.md"},o=n("",32),e=[o];function t(c,C,r,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":{},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1687235316000}'),p={name:"en_US/guide/pve_lxc.md"},o=n("",32),e=[o];function t(c,C,r,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 u=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1687228991000}'),s={name:"en_US/guide/pve_precheck.md"},l=i('<h1 id="系统和硬件配置要求" tabindex="-1">系统和硬件配置要求 <a class="header-anchor" href="#系统和硬件配置要求" aria-label="Permalink to "系统和硬件配置要求""></a></h1><h2 id="各种要求" tabindex="-1">各种要求 <a class="header-anchor" href="#各种要求" aria-label="Permalink to "各种要求""></a></h2><p>建议debian在使用前尽量使用最新的稳定版本的系统</p><p>非debian11可使用 <a href="https://github.com/spiritLHLS/one-click-installation-script#%E4%B8%80%E9%94%AE%E5%8D%87%E7%BA%A7%E4%BD%8E%E7%89%88%E6%9C%ACdebian%E4%B8%BAdebian11" target="_blank" rel="noreferrer">debian一键升级</a> 来升级系统</p><p>本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)</p><ul><li>系统要求:Debian 8+</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版</p></div><ul><li>硬件要求:2核2G内存x86_64架构服务器硬盘至少20G</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>内存开点swap免得机器炸了<a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">开SWAP点我跳转</a></p></div><ul><li>可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)</li><li>如果硬件或系统需求不满足,可使用LXD批量开LXC容器<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></li></ul><p><strong>遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载</strong></p><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><ul><li>本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本</li><li>检测硬件配置是否满足最低要求</li><li>检测硬件环境是否可嵌套虚拟化KVM类型的服务器</li><li>检测系统环境是否可嵌套虚拟化KVM类型的服务器</li><li>不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">LXD</a></li></ul><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/pve/main/scripts/check_kernal.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/pve/main/scripts/check_kernal.sh)</span></span></code></pre></div><br><br>',19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{u as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1687235316000}'),s={name:"en_US/guide/pve_precheck.md"},l=i('<h1 id="系统和硬件配置要求" tabindex="-1">系统和硬件配置要求 <a class="header-anchor" href="#系统和硬件配置要求" aria-label="Permalink to "系统和硬件配置要求""></a></h1><h2 id="各种要求" tabindex="-1">各种要求 <a class="header-anchor" href="#各种要求" aria-label="Permalink to "各种要求""></a></h2><p>建议debian在使用前尽量使用最新的稳定版本的系统</p><p>非debian11可使用 <a href="https://github.com/spiritLHLS/one-click-installation-script#%E4%B8%80%E9%94%AE%E5%8D%87%E7%BA%A7%E4%BD%8E%E7%89%88%E6%9C%ACdebian%E4%B8%BAdebian11" target="_blank" rel="noreferrer">debian一键升级</a> 来升级系统</p><p>本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)</p><ul><li>系统要求:Debian 8+</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版</p></div><ul><li>硬件要求:2核2G内存x86_64架构服务器硬盘至少20G</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>内存开点swap免得机器炸了<a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">开SWAP点我跳转</a></p></div><ul><li>可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)</li><li>如果硬件或系统需求不满足,可使用LXD批量开LXC容器<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></li></ul><p><strong>遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载</strong></p><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><ul><li>本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本</li><li>检测硬件配置是否满足最低要求</li><li>检测硬件环境是否可嵌套虚拟化KVM类型的服务器</li><li>检测系统环境是否可嵌套虚拟化KVM类型的服务器</li><li>不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">LXD</a></li></ul><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/pve/main/scripts/check_kernal.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/pve/main/scripts/check_kernal.sh)</span></span></code></pre></div><br><br>',19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{u as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1687228991000}'),s={name:"en_US/guide/pve_precheck.md"},l=i("",19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{u as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1687235316000}'),s={name:"en_US/guide/pve_precheck.md"},l=i("",19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{u as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1687228991000}'),n={name:"en_US/guide/pve_qa.md"},o=t('<h2 id="目前已验证的vps商家" tabindex="-1">目前已验证的VPS商家 <a class="header-anchor" href="#目前已验证的vps商家" aria-label="Permalink to "目前已验证的VPS商家""></a></h2><h3 id="可开设kvm虚拟化的nat的商家" tabindex="-1">可开设KVM虚拟化的NAT的商家 <a class="header-anchor" href="#可开设kvm虚拟化的nat的商家" aria-label="Permalink to "可开设KVM虚拟化的NAT的商家""></a></h3><p><a href="https://www.nocix.net/" target="_blank" rel="noreferrer">nocix</a> 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)</p><p><a href="http://amhost.net/vps/?cid=29317" target="_blank" rel="noreferrer">amhost</a> 中的测试款</p><p><a href="https://m.do.co/c/e9712622ee89" target="_blank" rel="noreferrer">digitalocean</a> 中的 Perminu Intel 和 Regular 4核款</p><p><a href="https://hosting.skrime.eu/a/server" target="_blank" rel="noreferrer">skrime</a> 中的 AMD Ryzen KVM Server 最低配款</p><p><a href="https://webdock.io/en?maff=wdaff--150" target="_blank" rel="noreferrer">webdock</a> 中的 AMD KVM Server</p><p><a href="https://clck.ru/33VQmc" target="_blank" rel="noreferrer">4vps</a> 中的 俄罗斯和希腊 测试款</p><p><a href="https://deploy.hostaris.com/" target="_blank" rel="noreferrer">hostaris</a> 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)</p><h3 id="只可开设lxc虚拟化的nat的商家" tabindex="-1">只可开设LXC虚拟化的NAT的商家 <a class="header-anchor" href="#只可开设lxc虚拟化的nat的商家" aria-label="Permalink to "只可开设LXC虚拟化的NAT的商家""></a></h3><p><a href="https://curl.qcloud.com/tPrMnfZm" target="_blank" rel="noreferrer">腾讯云</a> 中的无忧款和特惠款(学生机)</p><p><a href="https://my.spectraip.net/aff.php?aff=35" target="_blank" rel="noreferrer">spectraip</a> 中的KVM服务器</p><h3 id="已知无法直接安装pve的商家" tabindex="-1">已知无法直接安装PVE的商家 <a class="header-anchor" href="#已知无法直接安装pve的商家" aria-label="Permalink to "已知无法直接安装PVE的商家""></a></h3><p><a href="https://hetzner.cloud/?ref=CnWVr0FGneUl" target="_blank" rel="noreferrer">hetzner</a> 需要救援系统安装纯净的Debian,默认网络设置有冲突</p><p><a href="https://cloud.hosthatch.com/a/2450" target="_blank" rel="noreferrer">hosthatch</a> 默认网络设置有问题</p>',15),h=[o];function p(l,s,c,i,_,f){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1687235316000}'),n={name:"en_US/guide/pve_qa.md"},o=t('<h2 id="目前已验证的vps商家" tabindex="-1">目前已验证的VPS商家 <a class="header-anchor" href="#目前已验证的vps商家" aria-label="Permalink to "目前已验证的VPS商家""></a></h2><h3 id="可开设kvm虚拟化的nat的商家" tabindex="-1">可开设KVM虚拟化的NAT的商家 <a class="header-anchor" href="#可开设kvm虚拟化的nat的商家" aria-label="Permalink to "可开设KVM虚拟化的NAT的商家""></a></h3><p><a href="https://www.nocix.net/" target="_blank" rel="noreferrer">nocix</a> 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)</p><p><a href="http://amhost.net/vps/?cid=29317" target="_blank" rel="noreferrer">amhost</a> 中的测试款</p><p><a href="https://m.do.co/c/e9712622ee89" target="_blank" rel="noreferrer">digitalocean</a> 中的 Perminu Intel 和 Regular 4核款</p><p><a href="https://hosting.skrime.eu/a/server" target="_blank" rel="noreferrer">skrime</a> 中的 AMD Ryzen KVM Server 最低配款</p><p><a href="https://webdock.io/en?maff=wdaff--150" target="_blank" rel="noreferrer">webdock</a> 中的 AMD KVM Server</p><p><a href="https://clck.ru/33VQmc" target="_blank" rel="noreferrer">4vps</a> 中的 俄罗斯和希腊 测试款</p><p><a href="https://deploy.hostaris.com/" target="_blank" rel="noreferrer">hostaris</a> 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)</p><h3 id="只可开设lxc虚拟化的nat的商家" tabindex="-1">只可开设LXC虚拟化的NAT的商家 <a class="header-anchor" href="#只可开设lxc虚拟化的nat的商家" aria-label="Permalink to "只可开设LXC虚拟化的NAT的商家""></a></h3><p><a href="https://curl.qcloud.com/tPrMnfZm" target="_blank" rel="noreferrer">腾讯云</a> 中的无忧款和特惠款(学生机)</p><p><a href="https://my.spectraip.net/aff.php?aff=35" target="_blank" rel="noreferrer">spectraip</a> 中的KVM服务器</p><h3 id="已知无法直接安装pve的商家" tabindex="-1">已知无法直接安装PVE的商家 <a class="header-anchor" href="#已知无法直接安装pve的商家" aria-label="Permalink to "已知无法直接安装PVE的商家""></a></h3><p><a href="https://hetzner.cloud/?ref=CnWVr0FGneUl" target="_blank" rel="noreferrer">hetzner</a> 需要救援系统安装纯净的Debian,默认网络设置有冲突</p><p><a href="https://cloud.hosthatch.com/a/2450" target="_blank" rel="noreferrer">hosthatch</a> 默认网络设置有问题</p>',15),h=[o];function p(l,s,c,i,_,f){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1687228991000}'),n={name:"en_US/guide/pve_qa.md"},o=t("",15),h=[o];function p(l,s,c,i,_,f){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1687235316000}'),n={name:"en_US/guide/pve_qa.md"},o=t("",15),h=[o];function p(l,s,c,i,_,f){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1687228991000}'),o={name:"en_US/guide/pve_thanks.md"},n=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><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/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',9),p=[n];function s(l,i,h,c,_,m){return t(),r("div",null,p)}const f=e(o,[["render",s]]);export{b as __pageData,f as default};
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1687235316000}'),o={name:"en_US/guide/pve_thanks.md"},n=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><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/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',9),p=[n];function s(l,i,h,c,_,m){return t(),r("div",null,p)}const f=e(o,[["render",s]]);export{b as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1687228991000}'),o={name:"en_US/guide/pve_thanks.md"},n=a("",9),p=[n];function s(l,i,h,c,_,m){return t(),r("div",null,p)}const f=e(o,[["render",s]]);export{b as __pageData,f as default};
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1687235316000}'),o={name:"en_US/guide/pve_thanks.md"},n=a("",9),p=[n];function s(l,i,h,c,_,m){return t(),r("div",null,p)}const f=e(o,[["render",s]]);export{b 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":"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":"Support one-click script installation and use to easily create virtual machines/containers on servers using each virtualization"},{"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":1687228991000}'),i={name:"en_US/index.md"};function n(o,s,r,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":"Support one-click script installation and use to easily create virtual machines/containers on servers using each virtualization"},{"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":1687235316000}'),i={name:"en_US/index.md"};function n(o,s,r,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":"Support one-click script installation and use to easily create virtual machines/containers on servers using each virtualization"},{"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":1687228991000}'),i={name:"en_US/index.md"};function n(o,s,r,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":"Support one-click script installation and use to easily create virtual machines/containers on servers using each virtualization"},{"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":1687235316000}'),i={name:"en_US/index.md"};function n(o,s,r,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 a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1687228991000}'),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><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><h3 id="通过lxd-lxc命令批量或单独开设nat服务器以及维护" tabindex="-1">通过LXD/LXC命令批量或单独开设NAT服务器以及维护 <a class="header-anchor" href="#通过lxd-lxc命令批量或单独开设nat服务器以及维护" aria-label="Permalink to "通过LXD/LXC命令批量或单独开设NAT服务器以及维护""></a></h3><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><h3 id="通过docker批量或单独开设nat服务器" tabindex="-1">通过docker批量或单独开设NAT服务器 <a class="header-anchor" href="#通过docker批量或单独开设nat服务器" aria-label="Permalink to "通过docker批量或单独开设NAT服务器""></a></h3><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><br><br>',19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m as default};
|
||||
import{_ as t,o as a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1687235316000}'),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><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><h3 id="通过lxd-lxc命令批量或单独开设nat服务器以及维护" tabindex="-1">通过LXD/LXC命令批量或单独开设NAT服务器以及维护 <a class="header-anchor" href="#通过lxd-lxc命令批量或单独开设nat服务器以及维护" aria-label="Permalink to "通过LXD/LXC命令批量或单独开设NAT服务器以及维护""></a></h3><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><h3 id="通过docker批量或单独开设nat服务器" tabindex="-1">通过docker批量或单独开设NAT服务器 <a class="header-anchor" href="#通过docker批量或单独开设nat服务器" aria-label="Permalink to "通过docker批量或单独开设NAT服务器""></a></h3><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><br><br>',19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,o as a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1687228991000}'),o={name:"guide/dashboard.md"},i=r("",19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m as default};
|
||||
import{_ as t,o as a,c as e,R as r}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1687235316000}'),o={name:"guide/dashboard.md"},i=r("",19),s=[i];function l(c,d,p,h,n,b){return a(),e("div",null,s)}const m=t(o,[["render",l]]);export{_ as __pageData,m 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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 D=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1687228991000}'),n={name:"guide/docker_build.md"},p=o("",34),e=[p];function t(c,r,C,i,y,d){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 o}from"./chunks/framework.1625126e.js";const D=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1687235316000}'),n={name:"guide/docker_build.md"},p=o("",34),e=[p];function t(c,r,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1687228991000}'),o={name:"guide/docker_precheck.md"},c=a('<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>',11),p=[c];function i(s,d,n,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);export{u as __pageData,f as default};
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1687235316000}'),o={name:"guide/docker_precheck.md"},c=a('<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>',11),p=[c];function i(s,d,n,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1687228991000}'),o={name:"guide/docker_precheck.md"},c=a("",11),p=[c];function i(s,d,n,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);export{u as __pageData,f as default};
|
||||
import{_ as e,o as r,c as t,R as a}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1687235316000}'),o={name:"guide/docker_precheck.md"},c=a("",11),p=[c];function i(s,d,n,_,h,l){return r(),t("div",null,p)}const f=e(o,[["render",i]]);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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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":{},"headers":[],"relativePath":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1687228991000}'),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":{},"headers":[],"relativePath":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1687235316000}'),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":{},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1687228991000}'),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":{},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1687235316000}'),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":{},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1687228991000}'),n={name:"guide/lxd_install.md"},o=p("",42),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":{},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1687235316000}'),n={name:"guide/lxd_install.md"},o=p("",42),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 p}from"./chunks/framework.1625126e.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1687228991000}'),n={name:"guide/lxd_lxc.md"},o=p("",80),e=[o];function t(c,r,C,y,i,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":"LXC虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1687235316000}'),n={name:"guide/lxd_lxc.md"},o=p("",80),e=[o];function t(c,r,C,y,i,A){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{d as __pageData,h 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":{},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1687228991000}'),l={name:"guide/lxd_precheck.md"},s=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+(推荐),系统越新越好</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>本套脚本开发使用的Ubuntu20,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>一定要在 <code>/root</code> 的路径下运行本仓库脚本,且使用<code>一键脚本</code>的<strong>不要删除</strong>路径下的<code>ssh.sh</code>和<code>config.sh</code>文件</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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":{},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1687235316000}'),l={name:"guide/lxd_precheck.md"},s=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+(推荐),系统越新越好</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>本套脚本开发使用的Ubuntu20,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>一定要在 <code>/root</code> 的路径下运行本仓库脚本,且使用<code>一键脚本</code>的<strong>不要删除</strong>路径下的<code>ssh.sh</code>和<code>config.sh</code>文件</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxc/blob/main/README_other.md" target="_blank" rel="noreferrer">其他说明</a></p></li><li><p>一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置</p></li></ul><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><p><strong>使用后续脚本的务必执行本命令检测母鸡是否符合要求</strong></p><p>国际</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div><p>国内</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)</span></span></code></pre></div>',14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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":{},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1687228991000}'),l={name:"guide/lxd_precheck.md"},s=i("",14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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":{},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1687235316000}'),l={name:"guide/lxd_precheck.md"},s=i("",14),r=[s];function c(o,p,n,d,h,u){return a(),t("div",null,r)}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 r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1687228991000}'),_={name:"guide/lxd_qa.md"},s=r('<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>',4),o=[s];function p(l,i,n,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1687235316000}'),_={name:"guide/lxd_qa.md"},s=r('<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>',4),o=[s];function p(l,i,n,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as t,R as r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1687228991000}'),_={name:"guide/lxd_qa.md"},s=r("",4),o=[s];function p(l,i,n,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as r}from"./chunks/framework.1625126e.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1687235316000}'),_={name:"guide/lxd_qa.md"},s=r("",4),o=[s];function p(l,i,n,d,f,c){return a(),t("div",null,o)}const m=e(_,[["render",p]]);export{u 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":1687228991000}'),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":1687235316000}'),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":1687228991000}'),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":1687235316000}'),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 D=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1687228991000}'),o={name:"guide/pve_install.md"},t=e("",23),p=[t];function n(c,i,r,h,d,C){return a(),l("div",null,p)}const u=s(o,[["render",n]]);export{D as __pageData,u as default};
|
||||
import{_ as s,o as a,c as l,R as e}from"./chunks/framework.1625126e.js";const D=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1687235316000}'),o={name:"guide/pve_install.md"},t=e("",23),p=[t];function n(c,i,r,h,d,C){return a(),l("div",null,p)}const u=s(o,[["render",n]]);export{D as __pageData,u as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as s,o as a,c as l,R as n}from"./chunks/framework.1625126e.js";const h=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1687228991000}'),p={name:"guide/pve_kvm.md"},o=n("",60),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const m=s(p,[["render",t]]);export{h as __pageData,m as default};
|
||||
File diff suppressed because one or more lines are too long
1
assets/guide_pve_kvm.md.30fc2f55.lean.js
Normal file
1
assets/guide_pve_kvm.md.30fc2f55.lean.js
Normal file
@@ -0,0 +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":{},"headers":[],"relativePath":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1687235316000}'),p={name:"guide/pve_kvm.md"},o=n("",73),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 l,R as n}from"./chunks/framework.1625126e.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1687228991000}'),p={name:"guide/pve_lxc.md"},o=n("",32),e=[o];function t(c,C,r,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":{},"headers":[],"relativePath":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1687235316000}'),p={name:"guide/pve_lxc.md"},o=n("",32),e=[o];function t(c,C,r,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 _=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1687228991000}'),s={name:"guide/pve_precheck.md"},l=i('<h1 id="系统和硬件配置要求" tabindex="-1">系统和硬件配置要求 <a class="header-anchor" href="#系统和硬件配置要求" aria-label="Permalink to "系统和硬件配置要求""></a></h1><h2 id="各种要求" tabindex="-1">各种要求 <a class="header-anchor" href="#各种要求" aria-label="Permalink to "各种要求""></a></h2><p>建议debian在使用前尽量使用最新的稳定版本的系统</p><p>非debian11可使用 <a href="https://github.com/spiritLHLS/one-click-installation-script#%E4%B8%80%E9%94%AE%E5%8D%87%E7%BA%A7%E4%BD%8E%E7%89%88%E6%9C%ACdebian%E4%B8%BAdebian11" target="_blank" rel="noreferrer">debian一键升级</a> 来升级系统</p><p>本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)</p><ul><li>系统要求:Debian 8+</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版</p></div><ul><li>硬件要求:2核2G内存x86_64架构服务器硬盘至少20G</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>内存开点swap免得机器炸了<a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">开SWAP点我跳转</a></p></div><ul><li>可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)</li><li>如果硬件或系统需求不满足,可使用LXD批量开LXC容器<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></li></ul><p><strong>遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载</strong></p><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><ul><li>本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本</li><li>检测硬件配置是否满足最低要求</li><li>检测硬件环境是否可嵌套虚拟化KVM类型的服务器</li><li>检测系统环境是否可嵌套虚拟化KVM类型的服务器</li><li>不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">LXD</a></li></ul><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/pve/main/scripts/check_kernal.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/pve/main/scripts/check_kernal.sh)</span></span></code></pre></div><br><br>',19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{_ as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1687235316000}'),s={name:"guide/pve_precheck.md"},l=i('<h1 id="系统和硬件配置要求" tabindex="-1">系统和硬件配置要求 <a class="header-anchor" href="#系统和硬件配置要求" aria-label="Permalink to "系统和硬件配置要求""></a></h1><h2 id="各种要求" tabindex="-1">各种要求 <a class="header-anchor" href="#各种要求" aria-label="Permalink to "各种要求""></a></h2><p>建议debian在使用前尽量使用最新的稳定版本的系统</p><p>非debian11可使用 <a href="https://github.com/spiritLHLS/one-click-installation-script#%E4%B8%80%E9%94%AE%E5%8D%87%E7%BA%A7%E4%BD%8E%E7%89%88%E6%9C%ACdebian%E4%B8%BAdebian11" target="_blank" rel="noreferrer">debian一键升级</a> 来升级系统</p><p>本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)</p><ul><li>系统要求:Debian 8+</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版</p></div><ul><li>硬件要求:2核2G内存x86_64架构服务器硬盘至少20G</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>内存开点swap免得机器炸了<a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">开SWAP点我跳转</a></p></div><ul><li>可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)</li><li>如果硬件或系统需求不满足,可使用LXD批量开LXC容器<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">跳转</a></li></ul><p><strong>遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载</strong></p><h2 id="检测环境" tabindex="-1">检测环境 <a class="header-anchor" href="#检测环境" aria-label="Permalink to "检测环境""></a></h2><ul><li>本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本</li><li>检测硬件配置是否满足最低要求</li><li>检测硬件环境是否可嵌套虚拟化KVM类型的服务器</li><li>检测系统环境是否可嵌套虚拟化KVM类型的服务器</li><li>不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用<a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">LXD</a></li></ul><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/pve/main/scripts/check_kernal.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/pve/main/scripts/check_kernal.sh)</span></span></code></pre></div><br><br>',19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{_ as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1687228991000}'),s={name:"guide/pve_precheck.md"},l=i("",19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{_ as __pageData,m as default};
|
||||
import{_ as e,o as a,c as t,R as i}from"./chunks/framework.1625126e.js";const _=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1687235316000}'),s={name:"guide/pve_precheck.md"},l=i("",19),r=[l];function c(n,p,o,h,d,b){return a(),t("div",null,r)}const m=e(s,[["render",c]]);export{_ as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1687228991000}'),n={name:"guide/pve_qa.md"},o=t('<h2 id="目前已验证的vps商家" tabindex="-1">目前已验证的VPS商家 <a class="header-anchor" href="#目前已验证的vps商家" aria-label="Permalink to "目前已验证的VPS商家""></a></h2><h3 id="可开设kvm虚拟化的nat的商家" tabindex="-1">可开设KVM虚拟化的NAT的商家 <a class="header-anchor" href="#可开设kvm虚拟化的nat的商家" aria-label="Permalink to "可开设KVM虚拟化的NAT的商家""></a></h3><p><a href="https://www.nocix.net/" target="_blank" rel="noreferrer">nocix</a> 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)</p><p><a href="http://amhost.net/vps/?cid=29317" target="_blank" rel="noreferrer">amhost</a> 中的测试款</p><p><a href="https://m.do.co/c/e9712622ee89" target="_blank" rel="noreferrer">digitalocean</a> 中的 Perminu Intel 和 Regular 4核款</p><p><a href="https://hosting.skrime.eu/a/server" target="_blank" rel="noreferrer">skrime</a> 中的 AMD Ryzen KVM Server 最低配款</p><p><a href="https://webdock.io/en?maff=wdaff--150" target="_blank" rel="noreferrer">webdock</a> 中的 AMD KVM Server</p><p><a href="https://clck.ru/33VQmc" target="_blank" rel="noreferrer">4vps</a> 中的 俄罗斯和希腊 测试款</p><p><a href="https://deploy.hostaris.com/" target="_blank" rel="noreferrer">hostaris</a> 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)</p><h3 id="只可开设lxc虚拟化的nat的商家" tabindex="-1">只可开设LXC虚拟化的NAT的商家 <a class="header-anchor" href="#只可开设lxc虚拟化的nat的商家" aria-label="Permalink to "只可开设LXC虚拟化的NAT的商家""></a></h3><p><a href="https://curl.qcloud.com/tPrMnfZm" target="_blank" rel="noreferrer">腾讯云</a> 中的无忧款和特惠款(学生机)</p><p><a href="https://my.spectraip.net/aff.php?aff=35" target="_blank" rel="noreferrer">spectraip</a> 中的KVM服务器</p><h3 id="已知无法直接安装pve的商家" tabindex="-1">已知无法直接安装PVE的商家 <a class="header-anchor" href="#已知无法直接安装pve的商家" aria-label="Permalink to "已知无法直接安装PVE的商家""></a></h3><p><a href="https://hetzner.cloud/?ref=CnWVr0FGneUl" target="_blank" rel="noreferrer">hetzner</a> 需要救援系统安装纯净的Debian,默认网络设置有冲突</p><p><a href="https://cloud.hosthatch.com/a/2450" target="_blank" rel="noreferrer">hosthatch</a> 默认网络设置有问题</p>',15),h=[o];function p(l,s,c,i,f,_){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1687235316000}'),n={name:"guide/pve_qa.md"},o=t('<h2 id="目前已验证的vps商家" tabindex="-1">目前已验证的VPS商家 <a class="header-anchor" href="#目前已验证的vps商家" aria-label="Permalink to "目前已验证的VPS商家""></a></h2><h3 id="可开设kvm虚拟化的nat的商家" tabindex="-1">可开设KVM虚拟化的NAT的商家 <a class="header-anchor" href="#可开设kvm虚拟化的nat的商家" aria-label="Permalink to "可开设KVM虚拟化的NAT的商家""></a></h3><p><a href="https://www.nocix.net/" target="_blank" rel="noreferrer">nocix</a> 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)</p><p><a href="http://amhost.net/vps/?cid=29317" target="_blank" rel="noreferrer">amhost</a> 中的测试款</p><p><a href="https://m.do.co/c/e9712622ee89" target="_blank" rel="noreferrer">digitalocean</a> 中的 Perminu Intel 和 Regular 4核款</p><p><a href="https://hosting.skrime.eu/a/server" target="_blank" rel="noreferrer">skrime</a> 中的 AMD Ryzen KVM Server 最低配款</p><p><a href="https://webdock.io/en?maff=wdaff--150" target="_blank" rel="noreferrer">webdock</a> 中的 AMD KVM Server</p><p><a href="https://clck.ru/33VQmc" target="_blank" rel="noreferrer">4vps</a> 中的 俄罗斯和希腊 测试款</p><p><a href="https://deploy.hostaris.com/" target="_blank" rel="noreferrer">hostaris</a> 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)</p><h3 id="只可开设lxc虚拟化的nat的商家" tabindex="-1">只可开设LXC虚拟化的NAT的商家 <a class="header-anchor" href="#只可开设lxc虚拟化的nat的商家" aria-label="Permalink to "只可开设LXC虚拟化的NAT的商家""></a></h3><p><a href="https://curl.qcloud.com/tPrMnfZm" target="_blank" rel="noreferrer">腾讯云</a> 中的无忧款和特惠款(学生机)</p><p><a href="https://my.spectraip.net/aff.php?aff=35" target="_blank" rel="noreferrer">spectraip</a> 中的KVM服务器</p><h3 id="已知无法直接安装pve的商家" tabindex="-1">已知无法直接安装PVE的商家 <a class="header-anchor" href="#已知无法直接安装pve的商家" aria-label="Permalink to "已知无法直接安装PVE的商家""></a></h3><p><a href="https://hetzner.cloud/?ref=CnWVr0FGneUl" target="_blank" rel="noreferrer">hetzner</a> 需要救援系统安装纯净的Debian,默认网络设置有冲突</p><p><a href="https://cloud.hosthatch.com/a/2450" target="_blank" rel="noreferrer">hosthatch</a> 默认网络设置有问题</p>',15),h=[o];function p(l,s,c,i,f,_){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1687228991000}'),n={name:"guide/pve_qa.md"},o=t("",15),h=[o];function p(l,s,c,i,f,_){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as e,o as r,c as a,R as t}from"./chunks/framework.1625126e.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1687235316000}'),n={name:"guide/pve_qa.md"},o=t("",15),h=[o];function p(l,s,c,i,f,_){return r(),a("div",null,h)}const u=e(n,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1687228991000}'),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://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/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',9),n=[p];function s(l,i,h,c,m,_){return t(),r("div",null,n)}const f=e(o,[["render",s]]);export{b as __pageData,f as default};
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1687235316000}'),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://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/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供的PVE指导</p>',9),n=[p];function s(l,i,h,c,m,_){return t(),r("div",null,n)}const f=e(o,[["render",s]]);export{b as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1687228991000}'),o={name:"guide/pve_thanks.md"},p=a("",9),n=[p];function s(l,i,h,c,m,_){return t(),r("div",null,n)}const f=e(o,[["render",s]]);export{b as __pageData,f as default};
|
||||
import{_ as e,o as t,c as r,R as a}from"./chunks/framework.1625126e.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1687235316000}'),o={name:"guide/pve_thanks.md"},p=a("",9),n=[p];function s(l,i,h,c,m,_){return t(),r("div",null,n)}const f=e(o,[["render",s]]);export{b as __pageData,f 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