mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-05-31 15:49:46 +08:00
deploy: 751755af40
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1692779405000}'),o={name:"case/case5.md"},n=s('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default};
|
||||
import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1692790313000}'),o={name:"case/case5.md"},n=s('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1692779405000}'),o={name:"case/case5.md"},n=s('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default};
|
||||
import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1692790313000}'),o={name:"case/case5.md"},n=s('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to "仓库""></a></h1><p><a href="https://github.com/spiritLHLS/convoypanel-scripts" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/convoypanel-scripts</a></p><h1 id="convoypanel-scripts" tabindex="-1">convoypanel-scripts <a class="header-anchor" href="#convoypanel-scripts" aria-label="Permalink to "convoypanel-scripts""></a></h1><h3 id="one-click-installation-of-convoy-panel" tabindex="-1">One-click installation of convoy panel <a class="header-anchor" href="#one-click-installation-of-convoy-panel" aria-label="Permalink to "One-click installation of convoy panel""></a></h3><p>Prerequisites for installation:</p><ul><li>PVE is installed</li><li>System is debian 11</li><li>CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)</li></ul><p><strong>I don't guarantee that this script is error-free, it's just for my own amusement.</strong></p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh</span></span></code></pre></div><h3 id="thanks" tabindex="-1">Thanks <a class="header-anchor" href="#thanks" aria-label="Permalink to "Thanks""></a></h3><p>Base on <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p>Base on <a href="https://docs.convoypanel.com/guide/deployment/#installation" target="_blank" rel="noreferrer">https://docs.convoypanel.com/guide/deployment/#installation</a></p><p>Base on <a href="https://github.com/ConvoyPanel/panel" target="_blank" rel="noreferrer">https://github.com/ConvoyPanel/panel</a></p>',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1692779405000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1692790313000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1692779405000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1692790313000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1692779405000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1692790313000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1692779405000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1692790313000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1692779405000}'),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),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1692790313000}'),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),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1692779405000}'),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),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1692790313000}'),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),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1692779405000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1692790313000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1692779405000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1692790313000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1692779405000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default};
|
||||
import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1692790313000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1692779405000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default};
|
||||
import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1692790313000}'),a={name:"en_US/developer/l10n.md"},i=o('<p><strong>You can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-label="Permalink to "Adding a new localized text file""></a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to "Preparation Work""></a></h2><p>To virtualize a server, you will need:</p><ol><li><p>A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.</p></li><li><p>A stable SSH connection from your local machine. If the connection isn't stable, you can use the <code>screen</code> command to create a window and execute commands within that window.</p></li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you're unfamiliar with the <code>screen</code> command, please search for relevant tutorials to learn it, or you can use <code>tmux</code> as an alternative.</p></div><ol start="3"><li>Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.</li></ol><p><strong>This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.</p></div><p>Please make sure to keep the original formatting by enclosing the translation in <code>and</code> for easy copying.</p><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to "Project Repository""></a></h2><p>Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>LXC Virtualization Containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>Docker virtualized containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',24),s=[i];function n(c,l,p,h,d,m){return t(),a("div",null,s)}const b=e(o,[["render",n]]);export{f as __pageData,b as default};
|
||||
import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to "Preparation Work""></a></h2><p>To virtualize a server, you will need:</p><ol><li><p>A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.</p></li><li><p>A stable SSH connection from your local machine. If the connection isn't stable, you can use the <code>screen</code> command to create a window and execute commands within that window.</p></li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you're unfamiliar with the <code>screen</code> command, please search for relevant tutorials to learn it, or you can use <code>tmux</code> as an alternative.</p></div><ol start="3"><li>Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.</li></ol><p><strong>This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.</p></div><p>Please make sure to keep the original formatting by enclosing the translation in <code>and</code> for easy copying.</p><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to "Project Repository""></a></h2><p>Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>LXC Virtualization Containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>Docker virtualized containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',24),s=[i];function n(c,l,p,h,d,m){return t(),a("div",null,s)}const b=e(o,[["render",n]]);export{f as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to "Preparation Work""></a></h2><p>To virtualize a server, you will need:</p><ol><li><p>A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.</p></li><li><p>A stable SSH connection from your local machine. If the connection isn't stable, you can use the <code>screen</code> command to create a window and execute commands within that window.</p></li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you're unfamiliar with the <code>screen</code> command, please search for relevant tutorials to learn it, or you can use <code>tmux</code> as an alternative.</p></div><ol start="3"><li>Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.</li></ol><p><strong>This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.</p></div><p>Please make sure to keep the original formatting by enclosing the translation in <code>and</code> for easy copying.</p><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to "Project Repository""></a></h2><p>Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>LXC Virtualization Containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>Docker virtualized containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',24),s=[i];function n(c,l,p,h,d,m){return t(),a("div",null,s)}const b=e(o,[["render",n]]);export{f as __pageData,b as default};
|
||||
import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/dashboard.md"},i=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to "Preparation Work""></a></h2><p>To virtualize a server, you will need:</p><ol><li><p>A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.</p></li><li><p>A stable SSH connection from your local machine. If the connection isn't stable, you can use the <code>screen</code> command to create a window and execute commands within that window.</p></li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you're unfamiliar with the <code>screen</code> command, please search for relevant tutorials to learn it, or you can use <code>tmux</code> as an alternative.</p></div><ol start="3"><li>Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.</li></ol><p><strong>This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.</p></div><p>Please make sure to keep the original formatting by enclosing the translation in <code>and</code> for easy copying.</p><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to "Project Repository""></a></h2><p>Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>LXC Virtualization Containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>Docker virtualized containers Can Be Created.</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',24),s=[i];function n(c,l,p,h,d,m){return t(),a("div",null,s)}const b=e(o,[["render",n]]);export{f as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/dashboardq.md"},n=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/dashboardq.md"},n=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/dashboardq.md"},n=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/dashboardq.md"},n=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
import{_ as e,v as s,b as o,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_custom.md","filePath":"en_US/guide/docker_custom.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/docker_custom.md"},t=a(`<h1 id="script-for-one-click-installation-of-certain-containers-using-docker" tabindex="-1">Script for One-Click Installation of Certain Containers using Docker <a class="header-anchor" href="#script-for-one-click-installation-of-certain-containers-using-docker" aria-label="Permalink to "Script for One-Click Installation of Certain Containers using Docker""></a></h1><p>Each container has specific configuration requirements; please refer to them individually.</p><p>If the configured memory is not enough, then it's okay to make up for it with the virtual memory <a href="https://virt.spiritlhl.net/en_US/guide/docker_install.html#setting-up-virtual-memory" target="_blank" rel="noreferrer">here</a>.</p><h2 id="one-click-setup-of-android-system-container" tabindex="-1">One-Click Setup of Android System Container <a class="header-anchor" href="#one-click-setup-of-android-system-container" aria-label="Permalink to "One-Click Setup of Android System Container""></a></h2><ul><li>Customizable Android version</li><li>Automatically creates a validated web website</li><li>Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.</li><li>No need to worry about host machine supporting nested virtualization</li><li>Supports x86_64 and ARM architectures</li></ul><p><strong>Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.</strong></p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)</p><p><strong>Setup:</strong></p><p>Command:</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/create_android.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">create_android.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;">create_android.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;">create_android.sh</span></span></code></pre></div><p>After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open <code>YourMachineIPv4+80Port</code> to log in.</p><p>If you need to check the generated Android information and web login details, execute <code>cat /root/android_info</code> to retrieve the information.</p><p>Default username: <code>onea</code> Default password: <code>oneclick</code></p><p>For remote desktop, click on <code>H264 Converter</code> to initiate the redirection.</p><p><strong>Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.</strong></p><p><strong>Deletion:</strong></p><ul><li>Delete the container</li><li>Delete the corresponding container image</li><li>Delete the configuration file</li></ul><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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">android</span></span>
|
||||
import{_ as e,v as s,b as o,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_custom.md","filePath":"en_US/guide/docker_custom.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/docker_custom.md"},t=a(`<h1 id="script-for-one-click-installation-of-certain-containers-using-docker" tabindex="-1">Script for One-Click Installation of Certain Containers using Docker <a class="header-anchor" href="#script-for-one-click-installation-of-certain-containers-using-docker" aria-label="Permalink to "Script for One-Click Installation of Certain Containers using Docker""></a></h1><p>Each container has specific configuration requirements; please refer to them individually.</p><p>If the configured memory is not enough, then it's okay to make up for it with the virtual memory <a href="https://virt.spiritlhl.net/en_US/guide/docker_install.html#setting-up-virtual-memory" target="_blank" rel="noreferrer">here</a>.</p><h2 id="one-click-setup-of-android-system-container" tabindex="-1">One-Click Setup of Android System Container <a class="header-anchor" href="#one-click-setup-of-android-system-container" aria-label="Permalink to "One-Click Setup of Android System Container""></a></h2><ul><li>Customizable Android version</li><li>Automatically creates a validated web website</li><li>Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.</li><li>No need to worry about host machine supporting nested virtualization</li><li>Supports x86_64 and ARM architectures</li></ul><p><strong>Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.</strong></p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)</p><p><strong>Setup:</strong></p><p>Command:</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/create_android.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">create_android.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;">create_android.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;">create_android.sh</span></span></code></pre></div><p>After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open <code>YourMachineIPv4+80Port</code> to log in.</p><p>If you need to check the generated Android information and web login details, execute <code>cat /root/android_info</code> to retrieve the information.</p><p>Default username: <code>onea</code> Default password: <code>oneclick</code></p><p>For remote desktop, click on <code>H264 Converter</code> to initiate the redirection.</p><p><strong>Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.</strong></p><p><strong>Deletion:</strong></p><ul><li>Delete the container</li><li>Delete the corresponding container image</li><li>Delete the configuration file</li></ul><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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">android</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">scrcpy_web</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rmi</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">docker</span><span style="color:#C3E88D;"> images </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">redroid</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $3}</span><span style="color:#89DDFF;">')</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-rf</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/nginx/sites-enabled/reverse-proxy</span></span>
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as e,v as s,b as o,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_custom.md","filePath":"en_US/guide/docker_custom.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/docker_custom.md"},t=a(`<h1 id="script-for-one-click-installation-of-certain-containers-using-docker" tabindex="-1">Script for One-Click Installation of Certain Containers using Docker <a class="header-anchor" href="#script-for-one-click-installation-of-certain-containers-using-docker" aria-label="Permalink to "Script for One-Click Installation of Certain Containers using Docker""></a></h1><p>Each container has specific configuration requirements; please refer to them individually.</p><p>If the configured memory is not enough, then it's okay to make up for it with the virtual memory <a href="https://virt.spiritlhl.net/en_US/guide/docker_install.html#setting-up-virtual-memory" target="_blank" rel="noreferrer">here</a>.</p><h2 id="one-click-setup-of-android-system-container" tabindex="-1">One-Click Setup of Android System Container <a class="header-anchor" href="#one-click-setup-of-android-system-container" aria-label="Permalink to "One-Click Setup of Android System Container""></a></h2><ul><li>Customizable Android version</li><li>Automatically creates a validated web website</li><li>Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.</li><li>No need to worry about host machine supporting nested virtualization</li><li>Supports x86_64 and ARM architectures</li></ul><p><strong>Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.</strong></p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)</p><p><strong>Setup:</strong></p><p>Command:</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/create_android.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">create_android.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;">create_android.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;">create_android.sh</span></span></code></pre></div><p>After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open <code>YourMachineIPv4+80Port</code> to log in.</p><p>If you need to check the generated Android information and web login details, execute <code>cat /root/android_info</code> to retrieve the information.</p><p>Default username: <code>onea</code> Default password: <code>oneclick</code></p><p>For remote desktop, click on <code>H264 Converter</code> to initiate the redirection.</p><p><strong>Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.</strong></p><p><strong>Deletion:</strong></p><ul><li>Delete the container</li><li>Delete the corresponding container image</li><li>Delete the configuration file</li></ul><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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">android</span></span>
|
||||
import{_ as e,v as s,b as o,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_custom.md","filePath":"en_US/guide/docker_custom.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/docker_custom.md"},t=a(`<h1 id="script-for-one-click-installation-of-certain-containers-using-docker" tabindex="-1">Script for One-Click Installation of Certain Containers using Docker <a class="header-anchor" href="#script-for-one-click-installation-of-certain-containers-using-docker" aria-label="Permalink to "Script for One-Click Installation of Certain Containers using Docker""></a></h1><p>Each container has specific configuration requirements; please refer to them individually.</p><p>If the configured memory is not enough, then it's okay to make up for it with the virtual memory <a href="https://virt.spiritlhl.net/en_US/guide/docker_install.html#setting-up-virtual-memory" target="_blank" rel="noreferrer">here</a>.</p><h2 id="one-click-setup-of-android-system-container" tabindex="-1">One-Click Setup of Android System Container <a class="header-anchor" href="#one-click-setup-of-android-system-container" aria-label="Permalink to "One-Click Setup of Android System Container""></a></h2><ul><li>Customizable Android version</li><li>Automatically creates a validated web website</li><li>Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.</li><li>No need to worry about host machine supporting nested virtualization</li><li>Supports x86_64 and ARM architectures</li></ul><p><strong>Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.</strong></p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)</p><p><strong>Setup:</strong></p><p>Command:</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/create_android.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">create_android.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;">create_android.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;">create_android.sh</span></span></code></pre></div><p>After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open <code>YourMachineIPv4+80Port</code> to log in.</p><p>If you need to check the generated Android information and web login details, execute <code>cat /root/android_info</code> to retrieve the information.</p><p>Default username: <code>onea</code> Default password: <code>oneclick</code></p><p>For remote desktop, click on <code>H264 Converter</code> to initiate the redirection.</p><p><strong>Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.</strong></p><p><strong>Deletion:</strong></p><ul><li>Delete the container</li><li>Delete the corresponding container image</li><li>Delete the configuration file</li></ul><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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">android</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">scrcpy_web</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rmi</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">docker</span><span style="color:#C3E88D;"> images </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">redroid</span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $3}</span><span style="color:#89DDFF;">')</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">rm</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-rf</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/nginx/sites-enabled/reverse-proxy</span></span>
|
||||
@@ -1 +1 @@
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/docker_install.md"},l=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>Support for running Docker virtualization on various systems, including Linux, Android, and Windows.</p><h2 id="environment-setup" tabindex="-1">Environment Setup <a class="header-anchor" href="#environment-setup" aria-label="Permalink to "Environment Setup""></a></h2><ul><li>Check the environment</li><li>Install Docker and other prerequisite components</li><li>Download some default configuration scripts required by default</li></ul><p>Command:</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/dockerinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dockerinstall.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;">dockerinstall.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;">dockerinstall.sh</span></span></code></pre></div><h2 id="setting-up-virtual-memory" tabindex="-1">Setting Up Virtual Memory <a class="header-anchor" href="#setting-up-virtual-memory" aria-label="Permalink to "Setting Up Virtual Memory""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Allocate some swap space to prevent your machine from crashing.</p></div><p>Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.</p><p>It is recommended to allocate virtual memory twice the size of your physical memory.</p><p>Command:</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/addswap/main/addswap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addswap.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;">addswap.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;">addswap.sh</span></span></code></pre></div>',12),t=[l];function p(r,c,i,d,C,m){return a(),e("div",null,t)}const h=s(o,[["render",p]]);export{u as __pageData,h as default};
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/docker_install.md"},l=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>Support for running Docker virtualization on various systems, including Linux, Android, and Windows.</p><h2 id="environment-setup" tabindex="-1">Environment Setup <a class="header-anchor" href="#environment-setup" aria-label="Permalink to "Environment Setup""></a></h2><ul><li>Check the environment</li><li>Install Docker and other prerequisite components</li><li>Download some default configuration scripts required by default</li></ul><p>Command:</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/dockerinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dockerinstall.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;">dockerinstall.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;">dockerinstall.sh</span></span></code></pre></div><h2 id="setting-up-virtual-memory" tabindex="-1">Setting Up Virtual Memory <a class="header-anchor" href="#setting-up-virtual-memory" aria-label="Permalink to "Setting Up Virtual Memory""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Allocate some swap space to prevent your machine from crashing.</p></div><p>Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.</p><p>It is recommended to allocate virtual memory twice the size of your physical memory.</p><p>Command:</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/addswap/main/addswap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addswap.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;">addswap.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;">addswap.sh</span></span></code></pre></div>',12),t=[l];function p(r,c,i,d,C,m){return a(),e("div",null,t)}const h=s(o,[["render",p]]);export{u as __pageData,h as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/docker_install.md"},l=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>Support for running Docker virtualization on various systems, including Linux, Android, and Windows.</p><h2 id="environment-setup" tabindex="-1">Environment Setup <a class="header-anchor" href="#environment-setup" aria-label="Permalink to "Environment Setup""></a></h2><ul><li>Check the environment</li><li>Install Docker and other prerequisite components</li><li>Download some default configuration scripts required by default</li></ul><p>Command:</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/dockerinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dockerinstall.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;">dockerinstall.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;">dockerinstall.sh</span></span></code></pre></div><h2 id="setting-up-virtual-memory" tabindex="-1">Setting Up Virtual Memory <a class="header-anchor" href="#setting-up-virtual-memory" aria-label="Permalink to "Setting Up Virtual Memory""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Allocate some swap space to prevent your machine from crashing.</p></div><p>Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.</p><p>It is recommended to allocate virtual memory twice the size of your physical memory.</p><p>Command:</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/addswap/main/addswap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addswap.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;">addswap.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;">addswap.sh</span></span></code></pre></div>',12),t=[l];function p(r,c,i,d,C,m){return a(),e("div",null,t)}const h=s(o,[["render",p]]);export{u as __pageData,h as default};
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/docker_install.md"},l=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>Support for running Docker virtualization on various systems, including Linux, Android, and Windows.</p><h2 id="environment-setup" tabindex="-1">Environment Setup <a class="header-anchor" href="#environment-setup" aria-label="Permalink to "Environment Setup""></a></h2><ul><li>Check the environment</li><li>Install Docker and other prerequisite components</li><li>Download some default configuration scripts required by default</li></ul><p>Command:</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/dockerinstall.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dockerinstall.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;">dockerinstall.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;">dockerinstall.sh</span></span></code></pre></div><h2 id="setting-up-virtual-memory" tabindex="-1">Setting Up Virtual Memory <a class="header-anchor" href="#setting-up-virtual-memory" aria-label="Permalink to "Setting Up Virtual Memory""></a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Allocate some swap space to prevent your machine from crashing.</p></div><p>Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.</p><p>It is recommended to allocate virtual memory twice the size of your physical memory.</p><p>Command:</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/addswap/main/addswap.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addswap.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;">addswap.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;">addswap.sh</span></span></code></pre></div>',12),t=[l];function p(r,c,i,d,C,m){return a(),e("div",null,t)}const h=s(o,[["render",p]]);export{u as __pageData,h as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as i,R as r}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/docker_precheck.md"},o=r('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.</p><h2 id="project-highlights" tabindex="-1">Project Highlights <a class="header-anchor" href="#project-highlights" aria-label="Permalink to "Project Highlights""></a></h2><p>This project involves bulk or individual provisioning of NAT servers using Docker containers.</p><p>The default operating system used is Debian. Each container comes with one external SSH port and 25 consistent internal and external ports.</p><p>The containers created by default are non-privileged and do not establish communication between the Docker daemon on the host and the containers. As a result, <strong>containers nested within Docker virtualized NAT servers on the host will not function</strong>.</p><p>Due to CPU and memory limitations set on the host without utilizing cgroup drivers within containers, any server testing scripts run inside containers to assess available resources will be ineffective. The displayed resources will reflect those of the host.</p><p>Since the majority of cloud servers do not enable the 'pquota' option for the XFS file system, the <strong>default configuration involves sharing the host's hard drive, thus preventing the restriction of individual container disk sizes</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration Requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to "Configuration Requirements""></a></h2><p>The system should have Docker installed to be operational. As long as the network can connect to GitHub's raw interface, it can be used. Hardware configuration requirements are minimal, as long as they are adequate; a spare 3GB of hard disk space is sufficient.</p><p>It is recommended to increase the available SWAP virtual memory prior to provisioning NAT servers to prevent potential host performance issues due to sudden memory spikes. <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are somewhat limited and more restrictions are necessary, including configuration of individual IPv6 addresses and disk size limitations, consider utilizing LXD to create batch LXC virtualized containers. <a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are abundant and ample, consider using Proxmox Virtual Environment (PVE) to provision batch KVM virtualized machines. <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Link</a></p><p>Please note that the original formatting has been preserved and enclosed within <code>and</code> for your convenience during copying. No character escaping has been applied.</p>',14),a=[o];function s(c,d,h,l,u,p){return t(),i("div",null,a)}const f=e(n,[["render",s]]);export{g as __pageData,f as default};
|
||||
import{_ as e,v as t,b as i,R as r}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/docker_precheck.md"},o=r('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.</p><h2 id="project-highlights" tabindex="-1">Project Highlights <a class="header-anchor" href="#project-highlights" aria-label="Permalink to "Project Highlights""></a></h2><p>This project involves bulk or individual provisioning of NAT servers using Docker containers.</p><p>The default operating system used is Debian. Each container comes with one external SSH port and 25 consistent internal and external ports.</p><p>The containers created by default are non-privileged and do not establish communication between the Docker daemon on the host and the containers. As a result, <strong>containers nested within Docker virtualized NAT servers on the host will not function</strong>.</p><p>Due to CPU and memory limitations set on the host without utilizing cgroup drivers within containers, any server testing scripts run inside containers to assess available resources will be ineffective. The displayed resources will reflect those of the host.</p><p>Since the majority of cloud servers do not enable the 'pquota' option for the XFS file system, the <strong>default configuration involves sharing the host's hard drive, thus preventing the restriction of individual container disk sizes</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration Requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to "Configuration Requirements""></a></h2><p>The system should have Docker installed to be operational. As long as the network can connect to GitHub's raw interface, it can be used. Hardware configuration requirements are minimal, as long as they are adequate; a spare 3GB of hard disk space is sufficient.</p><p>It is recommended to increase the available SWAP virtual memory prior to provisioning NAT servers to prevent potential host performance issues due to sudden memory spikes. <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are somewhat limited and more restrictions are necessary, including configuration of individual IPv6 addresses and disk size limitations, consider utilizing LXD to create batch LXC virtualized containers. <a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are abundant and ample, consider using Proxmox Virtual Environment (PVE) to provision batch KVM virtualized machines. <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Link</a></p><p>Please note that the original formatting has been preserved and enclosed within <code>and</code> for your convenience during copying. No character escaping has been applied.</p>',14),a=[o];function s(c,d,h,l,u,p){return t(),i("div",null,a)}const f=e(n,[["render",s]]);export{g as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as i,R as r}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/docker_precheck.md"},o=r('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.</p><h2 id="project-highlights" tabindex="-1">Project Highlights <a class="header-anchor" href="#project-highlights" aria-label="Permalink to "Project Highlights""></a></h2><p>This project involves bulk or individual provisioning of NAT servers using Docker containers.</p><p>The default operating system used is Debian. Each container comes with one external SSH port and 25 consistent internal and external ports.</p><p>The containers created by default are non-privileged and do not establish communication between the Docker daemon on the host and the containers. As a result, <strong>containers nested within Docker virtualized NAT servers on the host will not function</strong>.</p><p>Due to CPU and memory limitations set on the host without utilizing cgroup drivers within containers, any server testing scripts run inside containers to assess available resources will be ineffective. The displayed resources will reflect those of the host.</p><p>Since the majority of cloud servers do not enable the 'pquota' option for the XFS file system, the <strong>default configuration involves sharing the host's hard drive, thus preventing the restriction of individual container disk sizes</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration Requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to "Configuration Requirements""></a></h2><p>The system should have Docker installed to be operational. As long as the network can connect to GitHub's raw interface, it can be used. Hardware configuration requirements are minimal, as long as they are adequate; a spare 3GB of hard disk space is sufficient.</p><p>It is recommended to increase the available SWAP virtual memory prior to provisioning NAT servers to prevent potential host performance issues due to sudden memory spikes. <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are somewhat limited and more restrictions are necessary, including configuration of individual IPv6 addresses and disk size limitations, consider utilizing LXD to create batch LXC virtualized containers. <a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are abundant and ample, consider using Proxmox Virtual Environment (PVE) to provision batch KVM virtualized machines. <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Link</a></p><p>Please note that the original formatting has been preserved and enclosed within <code>and</code> for your convenience during copying. No character escaping has been applied.</p>',14),a=[o];function s(c,d,h,l,u,p){return t(),i("div",null,a)}const f=e(n,[["render",s]]);export{g as __pageData,f as default};
|
||||
import{_ as e,v as t,b as i,R as r}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/docker_precheck.md"},o=r('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to "Introduction""></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.</p><h2 id="project-highlights" tabindex="-1">Project Highlights <a class="header-anchor" href="#project-highlights" aria-label="Permalink to "Project Highlights""></a></h2><p>This project involves bulk or individual provisioning of NAT servers using Docker containers.</p><p>The default operating system used is Debian. Each container comes with one external SSH port and 25 consistent internal and external ports.</p><p>The containers created by default are non-privileged and do not establish communication between the Docker daemon on the host and the containers. As a result, <strong>containers nested within Docker virtualized NAT servers on the host will not function</strong>.</p><p>Due to CPU and memory limitations set on the host without utilizing cgroup drivers within containers, any server testing scripts run inside containers to assess available resources will be ineffective. The displayed resources will reflect those of the host.</p><p>Since the majority of cloud servers do not enable the 'pquota' option for the XFS file system, the <strong>default configuration involves sharing the host's hard drive, thus preventing the restriction of individual container disk sizes</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration Requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to "Configuration Requirements""></a></h2><p>The system should have Docker installed to be operational. As long as the network can connect to GitHub's raw interface, it can be used. Hardware configuration requirements are minimal, as long as they are adequate; a spare 3GB of hard disk space is sufficient.</p><p>It is recommended to increase the available SWAP virtual memory prior to provisioning NAT servers to prevent potential host performance issues due to sudden memory spikes. <a href="https://github.com/spiritLHLS/addswap" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are somewhat limited and more restrictions are necessary, including configuration of individual IPv6 addresses and disk size limitations, consider utilizing LXD to create batch LXC virtualized containers. <a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">Link</a></p><p>PS: If hardware resources are abundant and ample, consider using Proxmox Virtual Environment (PVE) to provision batch KVM virtualized machines. <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Link</a></p><p>Please note that the original formatting has been preserved and enclosed within <code>and</code> for your convenience during copying. No character escaping has been applied.</p>',14),a=[o];function s(c,d,h,l,u,p){return t(),i("div",null,a)}const f=e(n,[["render",s]]);export{g as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/docker_qa.md"},l=n('<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to "Common Docker Commands""></a></h2><p>Check real-time resource usage of a specific container</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;">docker stats <container_name></span></span></code></pre></div><p>Enter a specific container</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;">docker exec -it <container_name> /bin/bash</span></span></code></pre></div><p>Clean Docker cache, remove unused resources including images, containers, networks, etc.</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;">docker system prune -a</span></span></code></pre></div><p>Uninstall all Docker images and containers</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</span></span></code></pre></div><p>View logs of a specific container</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;">docker logs <container_name_or_ID></span></span></code></pre></div><p>View overall disk usage of Docker</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;">docker system df</span></span></code></pre></div><p>List all containers</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;">docker ps -a</span></span></code></pre></div><p>List all images</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;">docker images</span></span></code></pre></div><p>Remove a specific container</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;">docker rm -f <container_name_or_ID></span></span></code></pre></div><p>Remove a specific image</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;">docker rmi <image_name_or_ID></span></span></code></pre></div>',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default};
|
||||
import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/docker_qa.md"},l=n('<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to "Common Docker Commands""></a></h2><p>Check real-time resource usage of a specific container</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;">docker stats <container_name></span></span></code></pre></div><p>Enter a specific container</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;">docker exec -it <container_name> /bin/bash</span></span></code></pre></div><p>Clean Docker cache, remove unused resources including images, containers, networks, etc.</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;">docker system prune -a</span></span></code></pre></div><p>Uninstall all Docker images and containers</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</span></span></code></pre></div><p>View logs of a specific container</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;">docker logs <container_name_or_ID></span></span></code></pre></div><p>View overall disk usage of Docker</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;">docker system df</span></span></code></pre></div><p>List all containers</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;">docker ps -a</span></span></code></pre></div><p>List all images</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;">docker images</span></span></code></pre></div><p>Remove a specific container</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;">docker rm -f <container_name_or_ID></span></span></code></pre></div><p>Remove a specific image</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;">docker rmi <image_name_or_ID></span></span></code></pre></div>',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/docker_qa.md"},l=n('<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to "Common Docker Commands""></a></h2><p>Check real-time resource usage of a specific container</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;">docker stats <container_name></span></span></code></pre></div><p>Enter a specific container</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;">docker exec -it <container_name> /bin/bash</span></span></code></pre></div><p>Clean Docker cache, remove unused resources including images, containers, networks, etc.</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;">docker system prune -a</span></span></code></pre></div><p>Uninstall all Docker images and containers</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</span></span></code></pre></div><p>View logs of a specific container</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;">docker logs <container_name_or_ID></span></span></code></pre></div><p>View overall disk usage of Docker</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;">docker system df</span></span></code></pre></div><p>List all containers</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;">docker ps -a</span></span></code></pre></div><p>List all images</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;">docker images</span></span></code></pre></div><p>Remove a specific container</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;">docker rm -f <container_name_or_ID></span></span></code></pre></div><p>Remove a specific image</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;">docker rmi <image_name_or_ID></span></span></code></pre></div>',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default};
|
||||
import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/docker_qa.md"},l=n('<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to "Common Docker Commands""></a></h2><p>Check real-time resource usage of a specific container</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;">docker stats <container_name></span></span></code></pre></div><p>Enter a specific container</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;">docker exec -it <container_name> /bin/bash</span></span></code></pre></div><p>Clean Docker cache, remove unused resources including images, containers, networks, etc.</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;">docker system prune -a</span></span></code></pre></div><p>Uninstall all Docker images and containers</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</span></span></code></pre></div><p>View logs of a specific container</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;">docker logs <container_name_or_ID></span></span></code></pre></div><p>View overall disk usage of Docker</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;">docker system df</span></span></code></pre></div><p>List all containers</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;">docker ps -a</span></span></code></pre></div><p>List all images</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;">docker images</span></span></code></pre></div><p>Remove a specific container</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;">docker rm -f <container_name_or_ID></span></span></code></pre></div><p>Remove a specific image</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;">docker rmi <image_name_or_ID></span></span></code></pre></div>',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/docker_thanks.md"},n=t('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p>',15),c=[n];function h(i,p,s,l,d,g){return r(),a("div",null,c)}const f=e(o,[["render",h]]);export{u as __pageData,f as default};
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/docker_thanks.md"},n=t('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p>',15),c=[n];function h(i,p,s,l,d,g){return r(),a("div",null,c)}const f=e(o,[["render",h]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/docker_thanks.md"},n=t('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p>',15),c=[n];function h(i,p,s,l,d,g){return r(),a("div",null,c)}const f=e(o,[["render",h]]);export{u as __pageData,f as default};
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/docker_thanks.md"},n=t('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p>',15),c=[n];function h(i,p,s,l,d,g){return r(),a("div",null,c)}const f=e(o,[["render",h]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_custom.md","filePath":"en_US/guide/lxd_custom.md","lastUpdated":1692779405000}'),a={name:"en_US/guide/lxd_custom.md"};function d(_,o,r,n,c,i){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_custom.md","filePath":"en_US/guide/lxd_custom.md","lastUpdated":1692790313000}'),a={name:"en_US/guide/lxd_custom.md"};function d(_,o,r,n,c,i){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_custom.md","filePath":"en_US/guide/lxd_custom.md","lastUpdated":1692779405000}'),a={name:"en_US/guide/lxd_custom.md"};function d(_,o,r,n,c,i){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_custom.md","filePath":"en_US/guide/lxd_custom.md","lastUpdated":1692790313000}'),a={name:"en_US/guide/lxd_custom.md"};function d(_,o,r,n,c,i){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1692779405000}'),e={name:"en_US/guide/lxd_extra_config.md"},l=o(`<h1 id="custom-configuration" tabindex="-1">Custom Configuration <a class="header-anchor" href="#custom-configuration" aria-label="Permalink to "Custom Configuration""></a></h1><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The following configurations may increase the load on the server. Only install them if necessary.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.</p></div><h2 id="automatic-ipv6-address-configuration" tabindex="-1">Automatic IPV6 Address Configuration <a class="header-anchor" href="#automatic-ipv6-address-configuration" aria-label="Permalink to "Automatic IPV6 Address Configuration""></a></h2><ul><li>(Optional, not required if not using)</li><li><strong>This script is only suitable for servers that have an <code>IPV6</code> subnet with a prefix, and the server has bound the <code>first IP</code> of the subnet as its <code>IPV6 address or IPV6 gateway</code>.</strong></li><li>Automatically configures <code>IPV6</code> addresses for LXC containers created with LXD.</li><li>Integrated into <code>buildone.sh</code> and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using <code>buildone.sh</code>, configure with variable Y to enable it.</li></ul><p>Download Script</p><p>Command:</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;">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/lxd/main/scripts/build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.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;">build_ipv6_network.sh</span></span></code></pre></div><p>Automatically configure IPV6 mapped addresses for containers</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Container_Name</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">change</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">me</span><span style="color:#89DDFF;">)</span></span></code></pre></div><p>A message is printed when the mapping is complete</p><p>Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">test</span></span></code></pre></div><p>Delete all IPV6 mapped rules</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;">ip6tables</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-t</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nat</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-F</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">PREROUTING</span></span>
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1692790313000}'),e={name:"en_US/guide/lxd_extra_config.md"},l=o(`<h1 id="custom-configuration" tabindex="-1">Custom Configuration <a class="header-anchor" href="#custom-configuration" aria-label="Permalink to "Custom Configuration""></a></h1><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The following configurations may increase the load on the server. Only install them if necessary.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.</p></div><h2 id="automatic-ipv6-address-configuration" tabindex="-1">Automatic IPV6 Address Configuration <a class="header-anchor" href="#automatic-ipv6-address-configuration" aria-label="Permalink to "Automatic IPV6 Address Configuration""></a></h2><ul><li>(Optional, not required if not using)</li><li><strong>This script is only suitable for servers that have an <code>IPV6</code> subnet with a prefix, and the server has bound the <code>first IP</code> of the subnet as its <code>IPV6 address or IPV6 gateway</code>.</strong></li><li>Automatically configures <code>IPV6</code> addresses for LXC containers created with LXD.</li><li>Integrated into <code>buildone.sh</code> and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using <code>buildone.sh</code>, configure with variable Y to enable it.</li></ul><p>Download Script</p><p>Command:</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;">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/lxd/main/scripts/build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.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;">build_ipv6_network.sh</span></span></code></pre></div><p>Automatically configure IPV6 mapped addresses for containers</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Container_Name</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">change</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">me</span><span style="color:#89DDFF;">)</span></span></code></pre></div><p>A message is printed when the mapping is complete</p><p>Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">test</span></span></code></pre></div><p>Delete all IPV6 mapped rules</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;">ip6tables</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-t</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nat</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-F</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">PREROUTING</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">ip6tables-legacy</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-t</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nat</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-F</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">PREROUTING</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">ip6tables-save</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/iptables/rules.v6</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">netfilter-persistent</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">save</span></span>
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1692779405000}'),e={name:"en_US/guide/lxd_extra_config.md"},l=o(`<h1 id="custom-configuration" tabindex="-1">Custom Configuration <a class="header-anchor" href="#custom-configuration" aria-label="Permalink to "Custom Configuration""></a></h1><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The following configurations may increase the load on the server. Only install them if necessary.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.</p></div><h2 id="automatic-ipv6-address-configuration" tabindex="-1">Automatic IPV6 Address Configuration <a class="header-anchor" href="#automatic-ipv6-address-configuration" aria-label="Permalink to "Automatic IPV6 Address Configuration""></a></h2><ul><li>(Optional, not required if not using)</li><li><strong>This script is only suitable for servers that have an <code>IPV6</code> subnet with a prefix, and the server has bound the <code>first IP</code> of the subnet as its <code>IPV6 address or IPV6 gateway</code>.</strong></li><li>Automatically configures <code>IPV6</code> addresses for LXC containers created with LXD.</li><li>Integrated into <code>buildone.sh</code> and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using <code>buildone.sh</code>, configure with variable Y to enable it.</li></ul><p>Download Script</p><p>Command:</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;">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/lxd/main/scripts/build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.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;">build_ipv6_network.sh</span></span></code></pre></div><p>Automatically configure IPV6 mapped addresses for containers</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Container_Name</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">change</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">me</span><span style="color:#89DDFF;">)</span></span></code></pre></div><p>A message is printed when the mapping is complete</p><p>Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">test</span></span></code></pre></div><p>Delete all IPV6 mapped rules</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;">ip6tables</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-t</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nat</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-F</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">PREROUTING</span></span>
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1692790313000}'),e={name:"en_US/guide/lxd_extra_config.md"},l=o(`<h1 id="custom-configuration" tabindex="-1">Custom Configuration <a class="header-anchor" href="#custom-configuration" aria-label="Permalink to "Custom Configuration""></a></h1><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>The following configurations may increase the load on the server. Only install them if necessary.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.</p></div><h2 id="automatic-ipv6-address-configuration" tabindex="-1">Automatic IPV6 Address Configuration <a class="header-anchor" href="#automatic-ipv6-address-configuration" aria-label="Permalink to "Automatic IPV6 Address Configuration""></a></h2><ul><li>(Optional, not required if not using)</li><li><strong>This script is only suitable for servers that have an <code>IPV6</code> subnet with a prefix, and the server has bound the <code>first IP</code> of the subnet as its <code>IPV6 address or IPV6 gateway</code>.</strong></li><li>Automatically configures <code>IPV6</code> addresses for LXC containers created with LXD.</li><li>Integrated into <code>buildone.sh</code> and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using <code>buildone.sh</code>, configure with variable Y to enable it.</li></ul><p>Download Script</p><p>Command:</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;">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/lxd/main/scripts/build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.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;">build_ipv6_network.sh</span></span></code></pre></div><p>Automatically configure IPV6 mapped addresses for containers</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Container_Name</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">change</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">me</span><span style="color:#89DDFF;">)</span></span></code></pre></div><p>A message is printed when the mapping is complete</p><p>Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)</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;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build_ipv6_network.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">test</span></span></code></pre></div><p>Delete all IPV6 mapped rules</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;">ip6tables</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-t</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nat</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-F</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">PREROUTING</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">ip6tables-legacy</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-t</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">nat</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-F</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">PREROUTING</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">ip6tables-save</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/iptables/rules.v6</span></span>
|
||||
<span class="line"><span style="color:#FFCB6B;">netfilter-persistent</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">save</span></span>
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1692779405000}'),t={name:"en_US/guide/lxd_install.md"},o=n(`<h1 id="lxd-installation-guide" tabindex="-1">LXD Installation Guide <a class="header-anchor" href="#lxd-installation-guide" aria-label="Permalink to "LXD Installation Guide""></a></h1><h2 id="manual-installation" tabindex="-1">Manual Installation <a class="header-anchor" href="#manual-installation" aria-label="Permalink to "Manual Installation""></a></h2><p>Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the later one-click installation method for convenience.</p><h3 id="disable-firewall" tabindex="-1">Disable Firewall <a class="header-anchor" href="#disable-firewall" aria-label="Permalink to "Disable Firewall""></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update</span></span>
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1692790313000}'),t={name:"en_US/guide/lxd_install.md"},o=n(`<h1 id="lxd-installation-guide" tabindex="-1">LXD Installation Guide <a class="header-anchor" href="#lxd-installation-guide" aria-label="Permalink to "LXD Installation Guide""></a></h1><h2 id="manual-installation" tabindex="-1">Manual Installation <a class="header-anchor" href="#manual-installation" aria-label="Permalink to "Manual Installation""></a></h2><p>Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the later one-click installation method for convenience.</p><h3 id="disable-firewall" tabindex="-1">Disable Firewall <a class="header-anchor" href="#disable-firewall" aria-label="Permalink to "Disable Firewall""></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="enabling-virtual-memory-swap" tabindex="-1">Enabling Virtual Memory SWAP <a class="header-anchor" href="#enabling-virtual-memory-swap" aria-label="Permalink to "Enabling Virtual Memory SWAP""></a></h3><p>The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.</p><p>Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.</p><p>Command:</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/lxd/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="installing-lxd" tabindex="-1">Installing LXD <a class="header-anchor" href="#installing-lxd" aria-label="Permalink to "Installing LXD""></a></h3><p>Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.</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,4 +1,4 @@
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1692779405000}'),t={name:"en_US/guide/lxd_install.md"},o=n(`<h1 id="lxd-installation-guide" tabindex="-1">LXD Installation Guide <a class="header-anchor" href="#lxd-installation-guide" aria-label="Permalink to "LXD Installation Guide""></a></h1><h2 id="manual-installation" tabindex="-1">Manual Installation <a class="header-anchor" href="#manual-installation" aria-label="Permalink to "Manual Installation""></a></h2><p>Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the later one-click installation method for convenience.</p><h3 id="disable-firewall" tabindex="-1">Disable Firewall <a class="header-anchor" href="#disable-firewall" aria-label="Permalink to "Disable Firewall""></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">apt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update</span></span>
|
||||
import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1692790313000}'),t={name:"en_US/guide/lxd_install.md"},o=n(`<h1 id="lxd-installation-guide" tabindex="-1">LXD Installation Guide <a class="header-anchor" href="#lxd-installation-guide" aria-label="Permalink to "LXD Installation Guide""></a></h1><h2 id="manual-installation" tabindex="-1">Manual Installation <a class="header-anchor" href="#manual-installation" aria-label="Permalink to "Manual Installation""></a></h2><p>Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the later one-click installation method for convenience.</p><h3 id="disable-firewall" tabindex="-1">Disable Firewall <a class="header-anchor" href="#disable-firewall" aria-label="Permalink to "Disable Firewall""></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="enabling-virtual-memory-swap" tabindex="-1">Enabling Virtual Memory SWAP <a class="header-anchor" href="#enabling-virtual-memory-swap" aria-label="Permalink to "Enabling Virtual Memory SWAP""></a></h3><p>The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.</p><p>Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.</p><p>Command:</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/lxd/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="installing-lxd" tabindex="-1">Installing LXD <a class="header-anchor" href="#installing-lxd" aria-label="Permalink to "Installing LXD""></a></h3><p>Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.</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>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1692779405000}'),a={name:"en_US/guide/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!</p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to "Requirements""></a></h2><p>Hardware requirements.</p><ul><li>System: Debian 8+, Ubuntu 18+ (20.04 recommended).</li><li>Virtualization: KVM, VMWARE recommended.</li><li>Memory: At least 512MB of RAM</li><li>Hard disk: hard disk (system disk) at least 10G</li><li>Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line</li></ul><p>PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Jump</a></p><p>PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">Jump</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to "Project Features""></a></h2><ul><li><p>This set of script development using <strong>Ubuntu20</strong>, Ubuntu other long-term maintenance version should also be no problem, Debian can not use zfs automatically switch to another storage type!</p></li><li><p>Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.</p></li><li><p>Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.</p></li><li><p>Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down</p></li><li><p>Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet</p></li><li><p>Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use <code>fdisk -l</code> and <code>df</code> to check.</p></li><li><p>See <a href="https://github.com/spiritLHLS/lxd/blob/main/README_other.md" target="_blank" rel="noreferrer">Other notes</a> for details on mounting other disks.</p></li><li><p>One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration</p></li></ul><h2 id="detecting-the-environment" tabindex="-1">Detecting the environment <a class="header-anchor" href="#detecting-the-environment" aria-label="Permalink to "Detecting the environment""></a></h2><p><strong>Use the subsequent script must execute this command to detect the hen whether it meets the requirements</strong></p><p>Command:</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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',13),s=[r];function i(d,c,l,p,h,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default};
|
||||
import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1692790313000}'),a={name:"en_US/guide/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!</p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to "Requirements""></a></h2><p>Hardware requirements.</p><ul><li>System: Debian 8+, Ubuntu 18+ (20.04 recommended).</li><li>Virtualization: KVM, VMWARE recommended.</li><li>Memory: At least 512MB of RAM</li><li>Hard disk: hard disk (system disk) at least 10G</li><li>Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line</li></ul><p>PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Jump</a></p><p>PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">Jump</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to "Project Features""></a></h2><ul><li><p>This set of script development using <strong>Ubuntu20</strong>, Ubuntu other long-term maintenance version should also be no problem, Debian can not use zfs automatically switch to another storage type!</p></li><li><p>Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.</p></li><li><p>Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.</p></li><li><p>Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down</p></li><li><p>Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet</p></li><li><p>Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use <code>fdisk -l</code> and <code>df</code> to check.</p></li><li><p>See <a href="https://github.com/spiritLHLS/lxd/blob/main/README_other.md" target="_blank" rel="noreferrer">Other notes</a> for details on mounting other disks.</p></li><li><p>One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration</p></li></ul><h2 id="detecting-the-environment" tabindex="-1">Detecting the environment <a class="header-anchor" href="#detecting-the-environment" aria-label="Permalink to "Detecting the environment""></a></h2><p><strong>Use the subsequent script must execute this command to detect the hen whether it meets the requirements</strong></p><p>Command:</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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',13),s=[r];function i(d,c,l,p,h,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1692779405000}'),a={name:"en_US/guide/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!</p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to "Requirements""></a></h2><p>Hardware requirements.</p><ul><li>System: Debian 8+, Ubuntu 18+ (20.04 recommended).</li><li>Virtualization: KVM, VMWARE recommended.</li><li>Memory: At least 512MB of RAM</li><li>Hard disk: hard disk (system disk) at least 10G</li><li>Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line</li></ul><p>PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Jump</a></p><p>PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">Jump</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to "Project Features""></a></h2><ul><li><p>This set of script development using <strong>Ubuntu20</strong>, Ubuntu other long-term maintenance version should also be no problem, Debian can not use zfs automatically switch to another storage type!</p></li><li><p>Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.</p></li><li><p>Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.</p></li><li><p>Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down</p></li><li><p>Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet</p></li><li><p>Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use <code>fdisk -l</code> and <code>df</code> to check.</p></li><li><p>See <a href="https://github.com/spiritLHLS/lxd/blob/main/README_other.md" target="_blank" rel="noreferrer">Other notes</a> for details on mounting other disks.</p></li><li><p>One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration</p></li></ul><h2 id="detecting-the-environment" tabindex="-1">Detecting the environment <a class="header-anchor" href="#detecting-the-environment" aria-label="Permalink to "Detecting the environment""></a></h2><p><strong>Use the subsequent script must execute this command to detect the hen whether it meets the requirements</strong></p><p>Command:</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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',13),s=[r];function i(d,c,l,p,h,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default};
|
||||
import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1692790313000}'),a={name:"en_US/guide/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to "Preface""></a></h1><p>The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!</p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to "Requirements""></a></h2><p>Hardware requirements.</p><ul><li>System: Debian 8+, Ubuntu 18+ (20.04 recommended).</li><li>Virtualization: KVM, VMWARE recommended.</li><li>Memory: At least 512MB of RAM</li><li>Hard disk: hard disk (system disk) at least 10G</li><li>Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line</li></ul><p>PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">Jump</a></p><p>PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">Jump</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to "Project Features""></a></h2><ul><li><p>This set of script development using <strong>Ubuntu20</strong>, Ubuntu other long-term maintenance version should also be no problem, Debian can not use zfs automatically switch to another storage type!</p></li><li><p>Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.</p></li><li><p>Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.</p></li><li><p>Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down</p></li><li><p>Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet</p></li><li><p>Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use <code>fdisk -l</code> and <code>df</code> to check.</p></li><li><p>See <a href="https://github.com/spiritLHLS/lxd/blob/main/README_other.md" target="_blank" rel="noreferrer">Other notes</a> for details on mounting other disks.</p></li><li><p>One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration</p></li></ul><h2 id="detecting-the-environment" tabindex="-1">Detecting the environment <a class="header-anchor" href="#detecting-the-environment" aria-label="Permalink to "Detecting the environment""></a></h2><p><strong>Use the subsequent script must execute this command to detect the hen whether it meets the requirements</strong></p><p>Command:</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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',13),s=[r];function i(d,c,l,p,h,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/lxd_qa.md"},o=t('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h2><h2 id="what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" tabindex="-1">What if the lxc command says it can't be found after LXD is installed? <a class="header-anchor" href="#what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" aria-label="Permalink to "What if the lxc command says it can't be found after LXD is installed?""></a></h2><p>`` ! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc export PATH=$PATH:/snap/bin</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;">After executing this command try</span></span></code></pre></div><p>lxc -h</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;">to see if the lxc command is fixed.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">## What to do if you open centos7 and find that CGroupV1 is not supported?</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Edit the ```/etc/default/grub`` file and add ``cgroup_enable=memory`` to the end of the parameters in ``GRUB_CMDLINE_LINUX_DEFAULT``.</span></span></code></pre></div><p>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</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;">Save the file and run the following command to update the GRUB boot.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">```bash</span></span>\n<span class="line"><span style="color:#A6ACCD;">sudo update-grub</span></span></code></pre></div><p>Reboot the system for the changes to take effect</p><p>If the above changes still do not support the opening of centos7, try using a different host system.</p><h2 id="currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" tabindex="-1">Currently verified VPS vendors that can open containers with separate IPV6 addresses. <a class="header-anchor" href="#currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" aria-label="Permalink to "Currently verified VPS vendors that can open containers with separate IPV6 addresses.""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> Phoenix, USA regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> German AMD Promotions</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> German AMD Promotions</p>',14),l=[o];function p(r,i,c,d,h,u){return a(),s("div",null,l)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/lxd_qa.md"},o=t('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h2><h2 id="what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" tabindex="-1">What if the lxc command says it can't be found after LXD is installed? <a class="header-anchor" href="#what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" aria-label="Permalink to "What if the lxc command says it can't be found after LXD is installed?""></a></h2><p>`` ! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc export PATH=$PATH:/snap/bin</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;">After executing this command try</span></span></code></pre></div><p>lxc -h</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;">to see if the lxc command is fixed.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">## What to do if you open centos7 and find that CGroupV1 is not supported?</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Edit the ```/etc/default/grub`` file and add ``cgroup_enable=memory`` to the end of the parameters in ``GRUB_CMDLINE_LINUX_DEFAULT``.</span></span></code></pre></div><p>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</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;">Save the file and run the following command to update the GRUB boot.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">```bash</span></span>\n<span class="line"><span style="color:#A6ACCD;">sudo update-grub</span></span></code></pre></div><p>Reboot the system for the changes to take effect</p><p>If the above changes still do not support the opening of centos7, try using a different host system.</p><h2 id="currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" tabindex="-1">Currently verified VPS vendors that can open containers with separate IPV6 addresses. <a class="header-anchor" href="#currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" aria-label="Permalink to "Currently verified VPS vendors that can open containers with separate IPV6 addresses.""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> Phoenix, USA regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> German AMD Promotions</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> German AMD Promotions</p>',14),l=[o];function p(r,i,c,d,h,u){return a(),s("div",null,l)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/lxd_qa.md"},o=t('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h2><h2 id="what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" tabindex="-1">What if the lxc command says it can't be found after LXD is installed? <a class="header-anchor" href="#what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" aria-label="Permalink to "What if the lxc command says it can't be found after LXD is installed?""></a></h2><p>`` ! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc export PATH=$PATH:/snap/bin</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;">After executing this command try</span></span></code></pre></div><p>lxc -h</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;">to see if the lxc command is fixed.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">## What to do if you open centos7 and find that CGroupV1 is not supported?</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Edit the ```/etc/default/grub`` file and add ``cgroup_enable=memory`` to the end of the parameters in ``GRUB_CMDLINE_LINUX_DEFAULT``.</span></span></code></pre></div><p>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</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;">Save the file and run the following command to update the GRUB boot.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">```bash</span></span>\n<span class="line"><span style="color:#A6ACCD;">sudo update-grub</span></span></code></pre></div><p>Reboot the system for the changes to take effect</p><p>If the above changes still do not support the opening of centos7, try using a different host system.</p><h2 id="currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" tabindex="-1">Currently verified VPS vendors that can open containers with separate IPV6 addresses. <a class="header-anchor" href="#currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" aria-label="Permalink to "Currently verified VPS vendors that can open containers with separate IPV6 addresses.""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> Phoenix, USA regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> German AMD Promotions</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> German AMD Promotions</p>',14),l=[o];function p(r,i,c,d,h,u){return a(),s("div",null,l)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/lxd_qa.md"},o=t('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h2><h2 id="what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" tabindex="-1">What if the lxc command says it can't be found after LXD is installed? <a class="header-anchor" href="#what-if-the-lxc-command-says-it-can-t-be-found-after-lxd-is-installed" aria-label="Permalink to "What if the lxc command says it can't be found after LXD is installed?""></a></h2><p>`` ! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc export PATH=$PATH:/snap/bin</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;">After executing this command try</span></span></code></pre></div><p>lxc -h</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;">to see if the lxc command is fixed.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">## What to do if you open centos7 and find that CGroupV1 is not supported?</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">Edit the ```/etc/default/grub`` file and add ``cgroup_enable=memory`` to the end of the parameters in ``GRUB_CMDLINE_LINUX_DEFAULT``.</span></span></code></pre></div><p>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</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;">Save the file and run the following command to update the GRUB boot.</span></span>\n<span class="line"><span style="color:#A6ACCD;"></span></span>\n<span class="line"><span style="color:#A6ACCD;">```bash</span></span>\n<span class="line"><span style="color:#A6ACCD;">sudo update-grub</span></span></code></pre></div><p>Reboot the system for the changes to take effect</p><p>If the above changes still do not support the opening of centos7, try using a different host system.</p><h2 id="currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" tabindex="-1">Currently verified VPS vendors that can open containers with separate IPV6 addresses. <a class="header-anchor" href="#currently-verified-vps-vendors-that-can-open-containers-with-separate-ipv6-addresses" aria-label="Permalink to "Currently verified VPS vendors that can open containers with separate IPV6 addresses.""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> Phoenix, USA regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> German AMD Promotions</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> German AMD Promotions</p>',14),l=[o];function p(r,i,c,d,h,u){return a(),s("div",null,l)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1692779405000}'),a={name:"en_US/guide/lxd_thanks.md"},s=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></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>Thank <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> for providing guidance.</p>',10),o=[s];function i(c,l,d,p,h,u){return t(),r("div",null,o)}const x=e(a,[["render",i]]);export{f as __pageData,x as default};
|
||||
import{_ as e,v as t,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1692790313000}'),a={name:"en_US/guide/lxd_thanks.md"},s=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></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>Thank <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> for providing guidance.</p>',10),o=[s];function i(c,l,d,p,h,u){return t(),r("div",null,o)}const x=e(a,[["render",i]]);export{f as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1692779405000}'),a={name:"en_US/guide/lxd_thanks.md"},s=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></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>Thank <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> for providing guidance.</p>',10),o=[s];function i(c,l,d,p,h,u){return t(),r("div",null,o)}const x=e(a,[["render",i]]);export{f as __pageData,x as default};
|
||||
import{_ as e,v as t,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1692790313000}'),a={name:"en_US/guide/lxd_thanks.md"},s=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></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>Thank <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> for providing guidance.</p>',10),o=[s];function i(c,l,d,p,h,u){return t(),r("div",null,o)}const x=e(a,[["render",i]]);export{f as __pageData,x as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Some custom scripts","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_custom.md","filePath":"en_US/guide/pve_custom.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/pve_custom.md"},t=n(`<h1 id="some-custom-scripts" tabindex="-1">Some custom scripts <a class="header-anchor" href="#some-custom-scripts" aria-label="Permalink to "Some custom scripts""></a></h1><p>Each script may have its own system requirements, check them out!</p><h2 id="installing-proxmox-ve-7-on-a-non-debian-system" tabindex="-1">Installing Proxmox VE 7 on a non-Debian system <a class="header-anchor" href="#installing-proxmox-ve-7-on-a-non-debian-system" aria-label="Permalink to "Installing Proxmox VE 7 on a non-Debian system""></a></h2><p>Minimum local hardware requirements are the same as for the previous normal installation.</p><p>You need to install docker first.</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Some custom scripts","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_custom.md","filePath":"en_US/guide/pve_custom.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/pve_custom.md"},t=n(`<h1 id="some-custom-scripts" tabindex="-1">Some custom scripts <a class="header-anchor" href="#some-custom-scripts" aria-label="Permalink to "Some custom scripts""></a></h1><p>Each script may have its own system requirements, check them out!</p><h2 id="installing-proxmox-ve-7-on-a-non-debian-system" tabindex="-1">Installing Proxmox VE 7 on a non-Debian system <a class="header-anchor" href="#installing-proxmox-ve-7-on-a-non-debian-system" aria-label="Permalink to "Installing Proxmox VE 7 on a non-Debian system""></a></h2><p>Minimum local hardware requirements are the same as for the previous normal installation.</p><p>You need to install docker first.</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">chmod +x /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">docker-compose --version</span></span></code></pre></div><p>Then use <code>uname -m</code> to query the architecture and use the command corresponding to the architecture</p><p>The opened PVE panel information is:</p><p>Login username and password are both <code>root</code>, after logging in be sure to use web SSH to change the password to avoid being blown up.</p><p>When using host SSH, be sure to log into the corresponding <code>https://IPV4:8006</code> to use SSH on the web panel, do not use the host's port 22 to manipulate the PVE.</p><p>Because the SSH on the web panel is inside Docker, it does not support subsequent one-click configurations, so please configure your own gateway, etc. to use it.</p><p>X86 architecture</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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">run</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-idt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">--network</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">host</span><span style="color:#A6ACCD;"> \\</span></span>
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Some custom scripts","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_custom.md","filePath":"en_US/guide/pve_custom.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/pve_custom.md"},t=n(`<h1 id="some-custom-scripts" tabindex="-1">Some custom scripts <a class="header-anchor" href="#some-custom-scripts" aria-label="Permalink to "Some custom scripts""></a></h1><p>Each script may have its own system requirements, check them out!</p><h2 id="installing-proxmox-ve-7-on-a-non-debian-system" tabindex="-1">Installing Proxmox VE 7 on a non-Debian system <a class="header-anchor" href="#installing-proxmox-ve-7-on-a-non-debian-system" aria-label="Permalink to "Installing Proxmox VE 7 on a non-Debian system""></a></h2><p>Minimum local hardware requirements are the same as for the previous normal installation.</p><p>You need to install docker first.</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Some custom scripts","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_custom.md","filePath":"en_US/guide/pve_custom.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/pve_custom.md"},t=n(`<h1 id="some-custom-scripts" tabindex="-1">Some custom scripts <a class="header-anchor" href="#some-custom-scripts" aria-label="Permalink to "Some custom scripts""></a></h1><p>Each script may have its own system requirements, check them out!</p><h2 id="installing-proxmox-ve-7-on-a-non-debian-system" tabindex="-1">Installing Proxmox VE 7 on a non-Debian system <a class="header-anchor" href="#installing-proxmox-ve-7-on-a-non-debian-system" aria-label="Permalink to "Installing Proxmox VE 7 on a non-Debian system""></a></h2><p>Minimum local hardware requirements are the same as for the previous normal installation.</p><p>You need to install docker first.</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">chmod +x /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">docker-compose --version</span></span></code></pre></div><p>Then use <code>uname -m</code> to query the architecture and use the command corresponding to the architecture</p><p>The opened PVE panel information is:</p><p>Login username and password are both <code>root</code>, after logging in be sure to use web SSH to change the password to avoid being blown up.</p><p>When using host SSH, be sure to log into the corresponding <code>https://IPV4:8006</code> to use SSH on the web panel, do not use the host's port 22 to manipulate the PVE.</p><p>Because the SSH on the web panel is inside Docker, it does not support subsequent one-click configurations, so please configure your own gateway, etc. to use it.</p><p>X86 architecture</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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">run</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-idt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">--network</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">host</span><span style="color:#A6ACCD;"> \\</span></span>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/pve_qa.md"},r=t(`<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="successful-pve-installation-but-lost-connection-after-reboot" tabindex="-1">Successful PVE Installation but Lost Connection After Reboot <a class="header-anchor" href="#successful-pve-installation-but-lost-connection-after-reboot" aria-label="Permalink to "Successful PVE Installation but Lost Connection After Reboot""></a></h2><p>If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/pve_qa.md"},r=t(`<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="successful-pve-installation-but-lost-connection-after-reboot" tabindex="-1">Successful PVE Installation but Lost Connection After Reboot <a class="header-anchor" href="#successful-pve-installation-but-lost-connection-after-reboot" aria-label="Permalink to "Successful PVE Installation but Lost Connection After Reboot""></a></h2><p>If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
<span class="line"><span style="color:#89DDFF;font-style:italic;">if</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">!</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-q</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">^post-up /sbin/ethtool</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span><span style="color:#89DDFF;">;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;font-style:italic;">then</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chattr</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">post-up /sbin/ethtool -K </span><span style="color:#A6ACCD;">$auto_interface</span><span style="color:#C3E88D;"> tx off rx off</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1692779405000}'),n={name:"en_US/guide/pve_qa.md"},r=t(`<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="successful-pve-installation-but-lost-connection-after-reboot" tabindex="-1">Successful PVE Installation but Lost Connection After Reboot <a class="header-anchor" href="#successful-pve-installation-but-lost-connection-after-reboot" aria-label="Permalink to "Successful PVE Installation but Lost Connection After Reboot""></a></h2><p>If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1692790313000}'),n={name:"en_US/guide/pve_qa.md"},r=t(`<h1 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to "Solve the puzzle""></a></h1><h2 id="successful-pve-installation-but-lost-connection-after-reboot" tabindex="-1">Successful PVE Installation but Lost Connection After Reboot <a class="header-anchor" href="#successful-pve-installation-but-lost-connection-after-reboot" aria-label="Permalink to "Successful PVE Installation but Lost Connection After Reboot""></a></h2><p>If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">auto_interface</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> /etc/network/interfaces </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#C3E88D;"> -v </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">^auto lo</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">awk</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;">{print $2}</span><span style="color:#89DDFF;">'</span><span style="color:#C3E88D;"> </span><span style="color:#89DDFF;">|</span><span style="color:#C3E88D;"> </span><span style="color:#FFCB6B;">head</span><span style="color:#C3E88D;"> -n </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">)</span></span>
|
||||
<span class="line"><span style="color:#89DDFF;font-style:italic;">if</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">!</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">grep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-q</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">^post-up /sbin/ethtool</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span><span style="color:#89DDFF;">;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;font-style:italic;">then</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chattr</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">echo</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">post-up /sbin/ethtool -K </span><span style="color:#A6ACCD;">$auto_interface</span><span style="color:#C3E88D;"> tx off rx off</span><span style="color:#89DDFF;">"</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">>></span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/network/interfaces</span></span>
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/pve_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p><a href="https://github.com/jiangcuo/run_proxmox_in_docker" target="_blank" rel="noreferrer">https://github.com/jiangcuo/run_proxmox_in_docker</a></p><p><a href="https://github.com/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> for providing PVE guidance.</p>',14),p=[n];function s(h,i,l,m,c,g){return r(),t("div",null,p)}const u=e(o,[["render",s]]);export{d as __pageData,u as default};
|
||||
import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/pve_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p><a href="https://github.com/jiangcuo/run_proxmox_in_docker" target="_blank" rel="noreferrer">https://github.com/jiangcuo/run_proxmox_in_docker</a></p><p><a href="https://github.com/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> for providing PVE guidance.</p>',14),p=[n];function s(h,i,l,m,c,g){return r(),t("div",null,p)}const u=e(o,[["render",s]]);export{d as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1692779405000}'),o={name:"en_US/guide/pve_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p><a href="https://github.com/jiangcuo/run_proxmox_in_docker" target="_blank" rel="noreferrer">https://github.com/jiangcuo/run_proxmox_in_docker</a></p><p><a href="https://github.com/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> for providing PVE guidance.</p>',14),p=[n];function s(h,i,l,m,c,g){return r(),t("div",null,p)}const u=e(o,[["render",s]]);export{d as __pageData,u as default};
|
||||
import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1692790313000}'),o={name:"en_US/guide/pve_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to "Acknowledgements""></a></h2><p><a href="https://forum.proxmox.com/" target="_blank" rel="noreferrer">https://forum.proxmox.com/</a></p><p><a href="https://blog.ilolicon.com/archives/615" target="_blank" rel="noreferrer">https://blog.ilolicon.com/archives/615</a></p><p><a href="https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh" target="_blank" rel="noreferrer">https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh</a></p><p><a href="https://pve.proxmox.com/pve-docs/qm.1.html" target="_blank" rel="noreferrer">https://pve.proxmox.com/pve-docs/qm.1.html</a></p><p><a href="https://down.idc.wiki/Image/realServer-Template/" target="_blank" rel="noreferrer">https://down.idc.wiki/Image/realServer-Template/</a></p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/proxmox/" target="_blank" rel="noreferrer">https://mirrors.tuna.tsinghua.edu.cn/proxmox/</a></p><p><a href="https://github.com/roacn/pve/blob/main/pve.sh" target="_blank" rel="noreferrer">https://github.com/roacn/pve/blob/main/pve.sh</a></p><p><a href="https://github.com/spiritLHLS/lxc" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxc</a></p><p><a href="https://github.com/leitbogioro/Tools" target="_blank" rel="noreferrer">https://github.com/leitbogioro/Tools</a></p><p><a href="https://github.com/jiangcuo/Proxmox-Arm64" target="_blank" rel="noreferrer">https://github.com/jiangcuo/Proxmox-Arm64</a></p><p><a href="https://github.com/jiangcuo/run_proxmox_in_docker" target="_blank" rel="noreferrer">https://github.com/jiangcuo/run_proxmox_in_docker</a></p><p><a href="https://github.com/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> for providing PVE guidance.</p>',14),p=[n];function s(h,i,l,m,c,g){return r(),t("div",null,p)}const u=e(o,[["render",s]]);export{d as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation, including TCP, UDP, vnc, rdp and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1692779405000}'),i={name:"en_US/index.md"};function n(s,r,o,l,d,c){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation, including TCP, UDP, vnc, rdp and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1692790313000}'),i={name:"en_US/index.md"};function n(s,r,o,l,d,c){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation, including TCP, UDP, vnc, rdp and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1692779405000}'),i={name:"en_US/index.md"};function n(s,r,o,l,d,c){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation, including TCP, UDP, vnc, rdp and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1692790313000}'),i={name:"en_US/index.md"};function n(s,r,o,l,d,c){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1692779405000}'),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命令的,自行查找相关教程学习,或者用tmux替代也行</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1692790313000}'),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命令的,自行查找相关教程学习,或者用tmux替代也行</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1692779405000}'),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命令的,自行查找相关教程学习,或者用tmux替代也行</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1692790313000}'),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命令的,自行查找相关教程学习,或者用tmux替代也行</p></div><ol start="3"><li>确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明</li></ol><p><strong>本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统</p></div><h2 id="项目仓库" tabindex="-1">项目仓库 <a class="header-anchor" href="#项目仓库" aria-label="Permalink to "项目仓库""></a></h2><p>欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢</p><h3 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to "PVE""></a></h3><p>可开设KVM虚拟化的虚拟机、LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/pve</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fpve&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to "LXD""></a></h3><p>可开设LXC虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/lxd" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/lxd</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Flxd&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><h3 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to "Docker""></a></h3><p>可开设Docker虚拟化的容器</p><p><a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/docker</a></p><p><a href="https://hits.seeyoufarm.com" target="_blank" rel="noreferrer"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FspiritLHLS%2Fdocker&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="Hits"></a></p><br><br>',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1692779405000}'),o={name:"guide/dashboardq.md"},r=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default};
|
||||
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1692790313000}'),o={name:"guide/dashboardq.md"},r=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1692779405000}'),o={name:"guide/dashboardq.md"},r=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default};
|
||||
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1692790313000}'),o={name:"guide/dashboardq.md"},r=t('<p>Give me a cup of coffee.</p><p><a href="https://ko-fi.com/spiritlhl" target="_blank" rel="noreferrer">https://ko-fi.com/spiritlhl</a></p><p>USDT-TRC20</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd</span></span></code></pre></div>',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1692779405000}'),o={name:"guide/docker_precheck.md"},p=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><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/lxd" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',13),s=[p];function i(d,c,n,h,l,u){return r(),a("div",null,s)}const f=e(o,[["render",i]]);export{k as __pageData,f as default};
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1692790313000}'),o={name:"guide/docker_precheck.md"},p=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><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/lxd" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',13),s=[p];function i(d,c,n,h,l,u){return r(),a("div",null,s)}const f=e(o,[["render",i]]);export{k as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1692779405000}'),o={name:"guide/docker_precheck.md"},p=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><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/lxd" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',13),s=[p];function i(d,c,n,h,l,u){return r(),a("div",null,s)}const f=e(o,[["render",i]]);export{k as __pageData,f as default};
|
||||
import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1692790313000}'),o={name:"guide/docker_precheck.md"},p=t('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><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/lxd" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p>',13),s=[p];function i(d,c,n,h,l,u){return r(),a("div",null,s)}const f=e(o,[["render",i]]);export{k as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1692779405000}'),n={name:"guide/docker_qa.md"},p=l('<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="常见的一些docker命令" tabindex="-1">常见的一些docker命令 <a class="header-anchor" href="#常见的一些docker命令" aria-label="Permalink to "常见的一些docker命令""></a></h2><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;">docker stats 容器名字</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;">docker exec -it 容器名字 /bin/bash</span></span></code></pre></div><p>清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等</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;">docker system prune -a</span></span></code></pre></div><p>卸载所有docker的镜像和容器</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</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;">docker logs 容器名字或ID</span></span></code></pre></div><p>查看docker整体的disk占用</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;">docker system df</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;">docker ps -a</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;">docker images</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;">docker rm -f 容器名字或ID</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;">docker rmi 镜像名字或ID</span></span></code></pre></div>',22),t=[p];function o(c,i,d,r,g,h){return s(),e("div",null,t)}const m=a(n,[["render",o]]);export{C as __pageData,m as default};
|
||||
import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1692790313000}'),n={name:"guide/docker_qa.md"},p=l('<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="常见的一些docker命令" tabindex="-1">常见的一些docker命令 <a class="header-anchor" href="#常见的一些docker命令" aria-label="Permalink to "常见的一些docker命令""></a></h2><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;">docker stats 容器名字</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;">docker exec -it 容器名字 /bin/bash</span></span></code></pre></div><p>清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等</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;">docker system prune -a</span></span></code></pre></div><p>卸载所有docker的镜像和容器</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</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;">docker logs 容器名字或ID</span></span></code></pre></div><p>查看docker整体的disk占用</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;">docker system df</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;">docker ps -a</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;">docker images</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;">docker rm -f 容器名字或ID</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;">docker rmi 镜像名字或ID</span></span></code></pre></div>',22),t=[p];function o(c,i,d,r,g,h){return s(),e("div",null,t)}const m=a(n,[["render",o]]);export{C as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1692779405000}'),n={name:"guide/docker_qa.md"},p=l('<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="常见的一些docker命令" tabindex="-1">常见的一些docker命令 <a class="header-anchor" href="#常见的一些docker命令" aria-label="Permalink to "常见的一些docker命令""></a></h2><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;">docker stats 容器名字</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;">docker exec -it 容器名字 /bin/bash</span></span></code></pre></div><p>清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等</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;">docker system prune -a</span></span></code></pre></div><p>卸载所有docker的镜像和容器</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</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;">docker logs 容器名字或ID</span></span></code></pre></div><p>查看docker整体的disk占用</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;">docker system df</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;">docker ps -a</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;">docker images</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;">docker rm -f 容器名字或ID</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;">docker rmi 镜像名字或ID</span></span></code></pre></div>',22),t=[p];function o(c,i,d,r,g,h){return s(),e("div",null,t)}const m=a(n,[["render",o]]);export{C as __pageData,m as default};
|
||||
import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1692790313000}'),n={name:"guide/docker_qa.md"},p=l('<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="常见的一些docker命令" tabindex="-1">常见的一些docker命令 <a class="header-anchor" href="#常见的一些docker命令" aria-label="Permalink to "常见的一些docker命令""></a></h2><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;">docker stats 容器名字</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;">docker exec -it 容器名字 /bin/bash</span></span></code></pre></div><p>清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等</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;">docker system prune -a</span></span></code></pre></div><p>卸载所有docker的镜像和容器</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;">docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)</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;">docker logs 容器名字或ID</span></span></code></pre></div><p>查看docker整体的disk占用</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;">docker system df</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;">docker ps -a</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;">docker images</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;">docker rm -f 容器名字或ID</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;">docker rmi 镜像名字或ID</span></span></code></pre></div>',22),t=[p];function o(c,i,d,r,g,h){return s(),e("div",null,t)}const m=a(n,[["render",o]]);export{C as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1692779405000}'),o={name:"guide/docker_thanks.md"},n=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p><p><a href="https://github.com/rustdesk/rustdesk" target="_blank" rel="noreferrer">https://github.com/rustdesk/rustdesk</a></p>',16),h=[n];function c(s,p,i,l,d,g){return e(),t("div",null,h)}const b=r(o,[["render",c]]);export{m as __pageData,b as default};
|
||||
import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1692790313000}'),o={name:"guide/docker_thanks.md"},n=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p><p><a href="https://github.com/rustdesk/rustdesk" target="_blank" rel="noreferrer">https://github.com/rustdesk/rustdesk</a></p>',16),h=[n];function c(s,p,i,l,d,g){return e(),t("div",null,h)}const b=r(o,[["render",c]]);export{m as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1692779405000}'),o={name:"guide/docker_thanks.md"},n=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p><p><a href="https://github.com/rustdesk/rustdesk" target="_blank" rel="noreferrer">https://github.com/rustdesk/rustdesk</a></p>',16),h=[n];function c(s,p,i,l,d,g){return e(),t("div",null,h)}const b=r(o,[["render",c]]);export{m as __pageData,b as default};
|
||||
import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1692790313000}'),o={name:"guide/docker_thanks.md"},n=a('<h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://hub.docker.com/_/debian" target="_blank" rel="noreferrer">https://hub.docker.com/_/debian</a></p><p><a href="https://hub.docker.com/r/redroid/redroid" target="_blank" rel="noreferrer">https://hub.docker.com/r/redroid/redroid</a></p><p><a href="https://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</a></p><p><a href="https://guacamole.apache.org/doc/gug/introduction.html" target="_blank" rel="noreferrer">https://guacamole.apache.org/doc/gug/introduction.html</a></p><p><a href="https://blog.imoeq.com/oracle-arm-run-android-by-docker" target="_blank" rel="noreferrer">https://blog.imoeq.com/oracle-arm-run-android-by-docker</a></p><p><a href="https://blog.imoeq.com/scrcpy-run-a-android-web-page" target="_blank" rel="noreferrer">https://blog.imoeq.com/scrcpy-run-a-android-web-page</a></p><p><a href="https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/" target="_blank" rel="noreferrer">https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/</a></p><p><a href="https://releases.hashicorp.com/vagrant/" target="_blank" rel="noreferrer">https://releases.hashicorp.com/vagrant/</a></p><p><a href="https://github.com/hashicorp/vagrant/" target="_blank" rel="noreferrer">https://github.com/hashicorp/vagrant/</a></p><p><a href="https://app.vagrantup.com/peru" target="_blank" rel="noreferrer">https://app.vagrantup.com/peru</a></p><p><a href="https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1" target="_blank" rel="noreferrer">https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1</a></p><p><a href="https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4" target="_blank" rel="noreferrer">https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4</a></p><p><a href="https://github.com/jlesage/docker-firefox" target="_blank" rel="noreferrer">https://github.com/jlesage/docker-firefox</a></p><p><a href="https://github.com/linuxserver/docker-webtop" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-webtop</a></p><p><a href="https://github.com/rustdesk/rustdesk" target="_blank" rel="noreferrer">https://github.com/rustdesk/rustdesk</a></p>',16),h=[n];function c(s,p,i,l,d,g){return e(),t("div",null,h)}const b=r(o,[["render",c]]);export{m as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_custom.md","filePath":"guide/lxd_custom.md","lastUpdated":1692779405000}'),a={name:"guide/lxd_custom.md"};function d(o,r,c,_,i,n){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_custom.md","filePath":"guide/lxd_custom.md","lastUpdated":1692790313000}'),a={name:"guide/lxd_custom.md"};function d(o,r,c,_,i,n){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_custom.md","filePath":"guide/lxd_custom.md","lastUpdated":1692779405000}'),a={name:"guide/lxd_custom.md"};function d(o,r,c,_,i,n){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_custom.md","filePath":"guide/lxd_custom.md","lastUpdated":1692790313000}'),a={name:"guide/lxd_custom.md"};function d(o,r,c,_,i,n){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1692779405000}'),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,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1692790313000}'),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/lxd/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/lxd/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,4 +1,4 @@
|
||||
import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1692779405000}'),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,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1692790313000}'),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/lxd/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/lxd/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>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1692779405000}'),s={name:"guide/lxd_precheck.md"},l=i('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxd/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/lxd/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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default};
|
||||
import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1692790313000}'),s={name:"guide/lxd_precheck.md"},l=i('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxd/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/lxd/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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1692779405000}'),s={name:"guide/lxd_precheck.md"},l=i('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxd/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/lxd/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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default};
|
||||
import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1692790313000}'),s={name:"guide/lxd_precheck.md"},l=i('<h1 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h1><p>以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了</p><h2 id="要求" tabindex="-1">要求 <a class="header-anchor" href="#要求" aria-label="Permalink to "要求""></a></h2><p>硬件要求:</p><ul><li>系统:Debian 8+, Ubuntu 18+(推荐20.04)</li><li>虚拟化:推荐KVM、VMWARE虚拟化</li><li>内存:内存至少512MB</li><li>硬盘:硬盘(系统盘)至少10G</li><li>网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行</li></ul><p>PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 <a href="https://github.com/spiritLHLS/pve" target="_blank" rel="noreferrer">跳转</a></p><p>PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 <a href="https://github.com/spiritLHLS/docker" target="_blank" rel="noreferrer">跳转</a></p><h2 id="项目特点" tabindex="-1">项目特点 <a class="header-anchor" href="#项目特点" aria-label="Permalink to "项目特点""></a></h2><ul><li><p>本套脚本开发使用的<strong>Ubuntu20</strong>,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型</p></li><li><p>已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致</p></li><li><p>已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统</p></li><li><p>已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机</p></li><li><p>已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小</p></li><li><p>保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用<code>fdisk -l</code>和<code>df</code>查看</p></li><li><p>挂载其他盘的详看 <a href="https://github.com/spiritLHLS/lxd/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/lxd/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/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default};
|
||||
@@ -1,2 +1,2 @@
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1692779405000}'),l={name:"guide/lxd_qa.md"},p=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1692790313000}'),l={name:"guide/lxd_qa.md"},p=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>执行这个命令后尝试</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>看看lxc命令是否已修复</p><h2 id="开设centos7发现报错cgroupv1不支持怎么办" tabindex="-1">开设centos7发现报错CGroupV1不支持怎么办 <a class="header-anchor" href="#开设centos7发现报错cgroupv1不支持怎么办" aria-label="Permalink to "开设centos7发现报错CGroupV1不支持怎么办""></a></h2><p>启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。</p><p>请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。</p><p>编辑<code>/etc/default/grub</code>文件,将<code>GRUB_CMDLINE_LINUX_DEFAULT</code>中的参数末尾加上<code>cgroup_enable=memory</code>。</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</span></span></code></pre></div><p>保存文件并运行以下命令更新GRUB引导。</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update-grub</span></span></code></pre></div><p>重启系统,使更改生效</p><p>如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试</p><h2 id="目前已验证可开带独立ipv6地址容器的vps商家" tabindex="-1">目前已验证可开带独立IPV6地址容器的VPS商家 <a class="header-anchor" href="#目前已验证可开带独立ipv6地址容器的vps商家" aria-label="Permalink to "目前已验证可开带独立IPV6地址容器的VPS商家""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> 中的 美国凤凰城 regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> 中的 德国AMD 促销款</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> 中的 德国AMD 促销款</p>`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const m=a(l,[["render",n]]);export{b as __pageData,m as default};
|
||||
@@ -1,2 +1,2 @@
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1692779405000}'),l={name:"guide/lxd_qa.md"},p=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1692790313000}'),l={name:"guide/lxd_qa.md"},p=t(`<h1 id="解惑" tabindex="-1">解惑 <a class="header-anchor" href="#解惑" aria-label="Permalink to "解惑""></a></h1><h2 id="如果lxd安装后lxc命令显示找不到怎么办" tabindex="-1">如果LXD安装后lxc命令显示找不到怎么办 <a class="header-anchor" href="#如果lxd安装后lxc命令显示找不到怎么办" aria-label="Permalink to "如果LXD安装后lxc命令显示找不到怎么办""></a></h2><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>执行这个命令后尝试</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">lxc -h</span></span></code></pre></div><p>看看lxc命令是否已修复</p><h2 id="开设centos7发现报错cgroupv1不支持怎么办" tabindex="-1">开设centos7发现报错CGroupV1不支持怎么办 <a class="header-anchor" href="#开设centos7发现报错cgroupv1不支持怎么办" aria-label="Permalink to "开设centos7发现报错CGroupV1不支持怎么办""></a></h2><p>启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。</p><p>请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。</p><p>编辑<code>/etc/default/grub</code>文件,将<code>GRUB_CMDLINE_LINUX_DEFAULT</code>中的参数末尾加上<code>cgroup_enable=memory</code>。</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"</span></span></code></pre></div><p>保存文件并运行以下命令更新GRUB引导。</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">sudo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">update-grub</span></span></code></pre></div><p>重启系统,使更改生效</p><p>如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试</p><h2 id="目前已验证可开带独立ipv6地址容器的vps商家" tabindex="-1">目前已验证可开带独立IPV6地址容器的VPS商家 <a class="header-anchor" href="#目前已验证可开带独立ipv6地址容器的vps商家" aria-label="Permalink to "目前已验证可开带独立IPV6地址容器的VPS商家""></a></h2><p><a href="https://my.kuroit.com/aff.php?aff=5" target="_blank" rel="noreferrer">kuroit</a> 中的 美国凤凰城 regular</p><p><a href="https://t.me/vps_reviews/338" target="_blank" rel="noreferrer">datalix</a> 中的 德国AMD 促销款</p><p><a href="https://billing.luxvps.xyz/aff.php?aff=36" target="_blank" rel="noreferrer">luxvps</a> 中的 德国AMD 促销款</p>`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const m=a(l,[["render",n]]);export{b as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1692779405000}'),s={name:"guide/lxd_thanks.md"},n=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=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default};
|
||||
import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1692790313000}'),s={name:"guide/lxd_thanks.md"},n=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=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1692779405000}'),s={name:"guide/lxd_thanks.md"},n=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=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default};
|
||||
import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1692790313000}'),s={name:"guide/lxd_thanks.md"},n=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=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"一些自定义脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_custom.md","filePath":"guide/pve_custom.md","lastUpdated":1692779405000}'),p={name:"guide/pve_custom.md"},e=o(`<h1 id="一些自定义脚本" tabindex="-1">一些自定义脚本 <a class="header-anchor" href="#一些自定义脚本" aria-label="Permalink to "一些自定义脚本""></a></h1><p>每个脚本可能有对应的系统要求,自行查看</p><h2 id="在非debian系统上安装-proxmox-ve-7" tabindex="-1">在非Debian系统上安装 Proxmox VE 7 <a class="header-anchor" href="#在非debian系统上安装-proxmox-ve-7" aria-label="Permalink to "在非Debian系统上安装 Proxmox VE 7""></a></h2><p>本机硬件配置的最低要求同先前正常安装的要求一致</p><p>需要先安装docker</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"一些自定义脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_custom.md","filePath":"guide/pve_custom.md","lastUpdated":1692790313000}'),p={name:"guide/pve_custom.md"},e=o(`<h1 id="一些自定义脚本" tabindex="-1">一些自定义脚本 <a class="header-anchor" href="#一些自定义脚本" aria-label="Permalink to "一些自定义脚本""></a></h1><p>每个脚本可能有对应的系统要求,自行查看</p><h2 id="在非debian系统上安装-proxmox-ve-7" tabindex="-1">在非Debian系统上安装 Proxmox VE 7 <a class="header-anchor" href="#在非debian系统上安装-proxmox-ve-7" aria-label="Permalink to "在非Debian系统上安装 Proxmox VE 7""></a></h2><p>本机硬件配置的最低要求同先前正常安装的要求一致</p><p>需要先安装docker</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">chmod +x /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">docker-compose --version</span></span></code></pre></div><p>然后使用<code>uname -m</code>查询架构,使用对应架构的命令</p><p>开设出的PVE面板信息为:</p><p>登录用户名和密码都是<code>root</code>,登录后务必使用web的SSH更改密码以免被爆破</p><p>用宿主机SSH时务必登录对应<code>https://IPV4地址:8006</code>在web面板上使用SSH,不要使用宿主机的22端口操控PVE</p><p>因为web面板上的SSH是在Docker内的,所以不支持后续的一键配置,请自行配置网关等进行使用</p><p>X86架构</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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">run</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-idt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">--network</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">host</span><span style="color:#A6ACCD;"> \\</span></span>
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"一些自定义脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_custom.md","filePath":"guide/pve_custom.md","lastUpdated":1692779405000}'),p={name:"guide/pve_custom.md"},e=o(`<h1 id="一些自定义脚本" tabindex="-1">一些自定义脚本 <a class="header-anchor" href="#一些自定义脚本" aria-label="Permalink to "一些自定义脚本""></a></h1><p>每个脚本可能有对应的系统要求,自行查看</p><h2 id="在非debian系统上安装-proxmox-ve-7" tabindex="-1">在非Debian系统上安装 Proxmox VE 7 <a class="header-anchor" href="#在非debian系统上安装-proxmox-ve-7" aria-label="Permalink to "在非Debian系统上安装 Proxmox VE 7""></a></h2><p>本机硬件配置的最低要求同先前正常安装的要求一致</p><p>需要先安装docker</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"一些自定义脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_custom.md","filePath":"guide/pve_custom.md","lastUpdated":1692790313000}'),p={name:"guide/pve_custom.md"},e=o(`<h1 id="一些自定义脚本" tabindex="-1">一些自定义脚本 <a class="header-anchor" href="#一些自定义脚本" aria-label="Permalink to "一些自定义脚本""></a></h1><p>每个脚本可能有对应的系统要求,自行查看</p><h2 id="在非debian系统上安装-proxmox-ve-7" tabindex="-1">在非Debian系统上安装 Proxmox VE 7 <a class="header-anchor" href="#在非debian系统上安装-proxmox-ve-7" aria-label="Permalink to "在非Debian系统上安装 Proxmox VE 7""></a></h2><p>本机硬件配置的最低要求同先前正常安装的要求一致</p><p>需要先安装docker</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 -sSL https://get.docker.com/ | sh</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">chmod +x /usr/local/bin/docker-compose</span></span>
|
||||
<span class="line"><span style="color:#A6ACCD;">docker-compose --version</span></span></code></pre></div><p>然后使用<code>uname -m</code>查询架构,使用对应架构的命令</p><p>开设出的PVE面板信息为:</p><p>登录用户名和密码都是<code>root</code>,登录后务必使用web的SSH更改密码以免被爆破</p><p>用宿主机SSH时务必登录对应<code>https://IPV4地址:8006</code>在web面板上使用SSH,不要使用宿主机的22端口操控PVE</p><p>因为web面板上的SSH是在Docker内的,所以不支持后续的一键配置,请自行配置网关等进行使用</p><p>X86架构</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;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">run</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-idt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">--network</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">host</span><span style="color:#A6ACCD;"> \\</span></span>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user