This commit is contained in:
spiritLHLS
2025-05-19 14:44:38 +00:00
parent d08a0a33d3
commit fb0bc85d0b
356 changed files with 767 additions and 623 deletions

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

View File

@@ -1 +1 @@
import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1747665132000}'),c={name:"case/case4.md"},s=r('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/oneclickvirt/backtrace" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/backtrace.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h1 id="backtrace" tabindex="-1">backtrace <a class="header-anchor" href="#backtrace" aria-label="Permalink to &quot;backtrace&quot;"></a></h1><p>三网回程路由线路测试</p><p>基于 <a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">https://github.com/zhanghanyun/backtrace</a> 的重构和优化,与原版存在很大不同</p><p>路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考</p><h2 id="功能" tabindex="-1">功能 <a class="header-anchor" href="#功能" aria-label="Permalink to &quot;功能&quot;"></a></h2><ul><li>[x] 检测回程显示IPV4地址时的线路不显示IP地址时显示ASN检测不到原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>4837</code>、<code>9929</code>和<code>163</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>CN2GT</code>和<code>CN2GIA</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对<code>CMIN2</code>和<code>CMI</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对整个回程路由进行线路分析,与原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅进行一次判断不同</li><li>[x] 修复原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>对IPV4地址信息获取时json解析失败依然打印信息的问题</li><li>[x] 增加对全平台的编译支持,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅支持linux平台的amd64和arm64架构</li></ul><h2 id="使用" tabindex="-1">使用 <a class="header-anchor" href="#使用" aria-label="Permalink to &quot;使用&quot;"></a></h2><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;">https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-sSf</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sh</span></span></code></pre></div><p>更多架构请查看 <a href="https://github.com/oneclickvirt/backtrace/releases/tag/output" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace/releases/tag/output</a></p><h2 id="概览图" tabindex="-1">概览图 <a class="header-anchor" href="#概览图" aria-label="Permalink to &quot;概览图&quot;"></a></h2><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/4688f99f-0f02-486f-8ffc-78d30f2c2f95" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2812a47d-4e6b-4091-9bb9-596af6c3c8bc" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2e5cc625-e0da-41ff-85ff-9d21c01114a3" alt="图片"></p>',16),n=[s];function l(o,h,i,p,b,d){return e(),t("div",null,n)}const f=a(c,[["render",l]]);export{u as __pageData,f as default};
import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1747665844000}'),c={name:"case/case4.md"},s=r('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/oneclickvirt/backtrace" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/backtrace.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h1 id="backtrace" tabindex="-1">backtrace <a class="header-anchor" href="#backtrace" aria-label="Permalink to &quot;backtrace&quot;"></a></h1><p>三网回程路由线路测试</p><p>基于 <a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">https://github.com/zhanghanyun/backtrace</a> 的重构和优化,与原版存在很大不同</p><p>路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考</p><h2 id="功能" tabindex="-1">功能 <a class="header-anchor" href="#功能" aria-label="Permalink to &quot;功能&quot;"></a></h2><ul><li>[x] 检测回程显示IPV4地址时的线路不显示IP地址时显示ASN检测不到原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>4837</code>、<code>9929</code>和<code>163</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>CN2GT</code>和<code>CN2GIA</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对<code>CMIN2</code>和<code>CMI</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对整个回程路由进行线路分析,与原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅进行一次判断不同</li><li>[x] 修复原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>对IPV4地址信息获取时json解析失败依然打印信息的问题</li><li>[x] 增加对全平台的编译支持,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅支持linux平台的amd64和arm64架构</li></ul><h2 id="使用" tabindex="-1">使用 <a class="header-anchor" href="#使用" aria-label="Permalink to &quot;使用&quot;"></a></h2><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;">https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-sSf</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sh</span></span></code></pre></div><p>更多架构请查看 <a href="https://github.com/oneclickvirt/backtrace/releases/tag/output" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace/releases/tag/output</a></p><h2 id="概览图" tabindex="-1">概览图 <a class="header-anchor" href="#概览图" aria-label="Permalink to &quot;概览图&quot;"></a></h2><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/4688f99f-0f02-486f-8ffc-78d30f2c2f95" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2812a47d-4e6b-4091-9bb9-596af6c3c8bc" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2e5cc625-e0da-41ff-85ff-9d21c01114a3" alt="图片"></p>',16),n=[s];function l(o,h,i,p,b,d){return e(),t("div",null,n)}const f=a(c,[["render",l]]);export{u as __pageData,f as default};

View File

@@ -1 +1 @@
import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1747665132000}'),c={name:"case/case4.md"},s=r('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/oneclickvirt/backtrace" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/backtrace.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h1 id="backtrace" tabindex="-1">backtrace <a class="header-anchor" href="#backtrace" aria-label="Permalink to &quot;backtrace&quot;"></a></h1><p>三网回程路由线路测试</p><p>基于 <a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">https://github.com/zhanghanyun/backtrace</a> 的重构和优化,与原版存在很大不同</p><p>路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考</p><h2 id="功能" tabindex="-1">功能 <a class="header-anchor" href="#功能" aria-label="Permalink to &quot;功能&quot;"></a></h2><ul><li>[x] 检测回程显示IPV4地址时的线路不显示IP地址时显示ASN检测不到原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>4837</code>、<code>9929</code>和<code>163</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>CN2GT</code>和<code>CN2GIA</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对<code>CMIN2</code>和<code>CMI</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对整个回程路由进行线路分析,与原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅进行一次判断不同</li><li>[x] 修复原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>对IPV4地址信息获取时json解析失败依然打印信息的问题</li><li>[x] 增加对全平台的编译支持,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅支持linux平台的amd64和arm64架构</li></ul><h2 id="使用" tabindex="-1">使用 <a class="header-anchor" href="#使用" aria-label="Permalink to &quot;使用&quot;"></a></h2><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;">https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-sSf</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sh</span></span></code></pre></div><p>更多架构请查看 <a href="https://github.com/oneclickvirt/backtrace/releases/tag/output" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace/releases/tag/output</a></p><h2 id="概览图" tabindex="-1">概览图 <a class="header-anchor" href="#概览图" aria-label="Permalink to &quot;概览图&quot;"></a></h2><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/4688f99f-0f02-486f-8ffc-78d30f2c2f95" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2812a47d-4e6b-4091-9bb9-596af6c3c8bc" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2e5cc625-e0da-41ff-85ff-9d21c01114a3" alt="图片"></p>',16),n=[s];function l(o,h,i,p,b,d){return e(),t("div",null,n)}const f=a(c,[["render",l]]);export{u as __pageData,f as default};
import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1747665844000}'),c={name:"case/case4.md"},s=r('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/oneclickvirt/backtrace" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/backtrace.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h1 id="backtrace" tabindex="-1">backtrace <a class="header-anchor" href="#backtrace" aria-label="Permalink to &quot;backtrace&quot;"></a></h1><p>三网回程路由线路测试</p><p>基于 <a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">https://github.com/zhanghanyun/backtrace</a> 的重构和优化,与原版存在很大不同</p><p>路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考</p><h2 id="功能" tabindex="-1">功能 <a class="header-anchor" href="#功能" aria-label="Permalink to &quot;功能&quot;"></a></h2><ul><li>[x] 检测回程显示IPV4地址时的线路不显示IP地址时显示ASN检测不到原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>4837</code>、<code>9929</code>和<code>163</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>也支持</li><li>[x] 支持对<code>CN2GT</code>和<code>CN2GIA</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对<code>CMIN2</code>和<code>CMI</code>线路的判断,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>不支持</li><li>[x] 支持对整个回程路由进行线路分析,与原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅进行一次判断不同</li><li>[x] 修复原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>对IPV4地址信息获取时json解析失败依然打印信息的问题</li><li>[x] 增加对全平台的编译支持,原版<a href="https://github.com/zhanghanyun/backtrace" target="_blank" rel="noreferrer">backtrace</a>仅支持linux平台的amd64和arm64架构</li></ul><h2 id="使用" tabindex="-1">使用 <a class="header-anchor" href="#使用" aria-label="Permalink to &quot;使用&quot;"></a></h2><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;">https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-sSf</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">sh</span></span></code></pre></div><p>更多架构请查看 <a href="https://github.com/oneclickvirt/backtrace/releases/tag/output" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/backtrace/releases/tag/output</a></p><h2 id="概览图" tabindex="-1">概览图 <a class="header-anchor" href="#概览图" aria-label="Permalink to &quot;概览图&quot;"></a></h2><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/4688f99f-0f02-486f-8ffc-78d30f2c2f95" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2812a47d-4e6b-4091-9bb9-596af6c3c8bc" alt="图片"></p><p><img src="https://github.com/oneclickvirt/backtrace/assets/103393591/2e5cc625-e0da-41ff-85ff-9d21c01114a3" alt="图片"></p>',16),n=[s];function l(o,h,i,p,b,d){return e(),t("div",null,n)}const f=a(c,[["render",l]]);export{u as __pageData,f 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

View File

@@ -1 +1 @@
import{_ as a,v as s,b as p,R as l}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1747665132000}'),n={name:"case/case7.md"},o=l('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/spiritLHLS/addzram" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/addzram</a></p><h1 id="addzram" tabindex="-1">addzram <a class="header-anchor" href="#addzram" aria-label="Permalink to &quot;addzram&quot;"></a></h1><p>为linux服务器启用zram(压缩内存)</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/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.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://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span></span></code></pre></div><p>类同前面的addswap项目</p><p>同样是给机器优化内存占用的东西只不过zram是压缩内存占用swap是附加虚拟内存增加内存空间二者都会占用CPU资源zram在CPU性能冗余的机器上使用更优</p><p>(理论上zram会比swap的性能占用低但未实际测试过)</p><p><strong>单位换算:输入 1024 产生 1G 的 zram 设备压缩内存zram 设备大小不能大于实际内存大小</strong></p><h1 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to &quot;致谢&quot;"></a></h1><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供优化建议</p>',14),e=[o];function t(r,c,d,C,i,h){return s(),p("div",null,e)}const A=a(n,[["render",t]]);export{y as __pageData,A as default};
import{_ as a,v as s,b as p,R as l}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1747665844000}'),n={name:"case/case7.md"},o=l('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/spiritLHLS/addzram" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/addzram</a></p><h1 id="addzram" tabindex="-1">addzram <a class="header-anchor" href="#addzram" aria-label="Permalink to &quot;addzram&quot;"></a></h1><p>为linux服务器启用zram(压缩内存)</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/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.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://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span></span></code></pre></div><p>类同前面的addswap项目</p><p>同样是给机器优化内存占用的东西只不过zram是压缩内存占用swap是附加虚拟内存增加内存空间二者都会占用CPU资源zram在CPU性能冗余的机器上使用更优</p><p>(理论上zram会比swap的性能占用低但未实际测试过)</p><p><strong>单位换算:输入 1024 产生 1G 的 zram 设备压缩内存zram 设备大小不能大于实际内存大小</strong></p><h1 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to &quot;致谢&quot;"></a></h1><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供优化建议</p>',14),e=[o];function t(r,c,d,C,i,h){return s(),p("div",null,e)}const A=a(n,[["render",t]]);export{y as __pageData,A as default};

View File

@@ -1 +1 @@
import{_ as a,v as s,b as p,R as l}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1747665132000}'),n={name:"case/case7.md"},o=l('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/spiritLHLS/addzram" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/addzram</a></p><h1 id="addzram" tabindex="-1">addzram <a class="header-anchor" href="#addzram" aria-label="Permalink to &quot;addzram&quot;"></a></h1><p>为linux服务器启用zram(压缩内存)</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/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.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://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span></span></code></pre></div><p>类同前面的addswap项目</p><p>同样是给机器优化内存占用的东西只不过zram是压缩内存占用swap是附加虚拟内存增加内存空间二者都会占用CPU资源zram在CPU性能冗余的机器上使用更优</p><p>(理论上zram会比swap的性能占用低但未实际测试过)</p><p><strong>单位换算:输入 1024 产生 1G 的 zram 设备压缩内存zram 设备大小不能大于实际内存大小</strong></p><h1 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to &quot;致谢&quot;"></a></h1><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供优化建议</p>',14),e=[o];function t(r,c,d,C,i,h){return s(),p("div",null,e)}const A=a(n,[["render",t]]);export{y as __pageData,A as default};
import{_ as a,v as s,b as p,R as l}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1747665844000}'),n={name:"case/case7.md"},o=l('<h1 id="仓库" tabindex="-1">仓库 <a class="header-anchor" href="#仓库" aria-label="Permalink to &quot;仓库&quot;"></a></h1><p><a href="https://github.com/spiritLHLS/addzram" target="_blank" rel="noreferrer">https://github.com/spiritLHLS/addzram</a></p><h1 id="addzram" tabindex="-1">addzram <a class="header-anchor" href="#addzram" aria-label="Permalink to &quot;addzram&quot;"></a></h1><p>为linux服务器启用zram(压缩内存)</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/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.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://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">addzram.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">addzram.sh</span></span></code></pre></div><p>类同前面的addswap项目</p><p>同样是给机器优化内存占用的东西只不过zram是压缩内存占用swap是附加虚拟内存增加内存空间二者都会占用CPU资源zram在CPU性能冗余的机器上使用更优</p><p>(理论上zram会比swap的性能占用低但未实际测试过)</p><p><strong>单位换算:输入 1024 产生 1G 的 zram 设备压缩内存zram 设备大小不能大于实际内存大小</strong></p><h1 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to &quot;致谢&quot;"></a></h1><p>感谢 <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> 提供优化建议</p>',14),e=[o];function t(r,c,d,C,i,h){return s(),p("div",null,e)}const A=a(n,[["render",t]]);export{y as __pageData,A as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","description":"","frontmatter":{"layout":"home","title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","hero":{"name":"其他实用项目","text":"与Linux相关的其他实用项目","image":"https://cdn.spiritlhl.net/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":1747665132000}'),s={name:"case/index.md"};function i(n,r,o,c,d,l){return t(),a("div")}const h=e(s,[["render",i]]);export{m as __pageData,h as default};
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","description":"","frontmatter":{"layout":"home","title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","hero":{"name":"其他实用项目","text":"与Linux相关的其他实用项目","image":"https://cdn.spiritlhl.net/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":1747665844000}'),s={name:"case/index.md"};function i(n,r,o,c,d,l){return t(),a("div")}const h=e(s,[["render",i]]);export{m as __pageData,h as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","description":"","frontmatter":{"layout":"home","title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","hero":{"name":"其他实用项目","text":"与Linux相关的其他实用项目","image":"https://cdn.spiritlhl.net/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":1747665132000}'),s={name:"case/index.md"};function i(n,r,o,c,d,l){return t(),a("div")}const h=e(s,[["render",i]]);export{m as __pageData,h as default};
import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","description":"","frontmatter":{"layout":"home","title":"其他实用项目","titleTemplate":"与Linux相关的其他实用项目","hero":{"name":"其他实用项目","text":"与Linux相关的其他实用项目","image":"https://cdn.spiritlhl.net/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":1747665844000}'),s={name:"case/index.md"};function i(n,r,o,c,d,l){return t(),a("div")}const h=e(s,[["render",i]]);export{m as __pageData,h as default};

View File

@@ -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://cdn.spiritlhl.net/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":1747665132000}'),s={name:"developer/index.md"};function n(r,i,l,o,p,d){return t(),a("div")}const h=e(s,[["render",n]]);export{c as __pageData,h 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://cdn.spiritlhl.net/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":1747665844000}'),s={name:"developer/index.md"};function n(r,i,l,o,p,d){return t(),a("div")}const h=e(s,[["render",n]]);export{c as __pageData,h as default};

View File

@@ -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://cdn.spiritlhl.net/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":1747665132000}'),s={name:"developer/index.md"};function n(r,i,l,o,p,d){return t(),a("div")}const h=e(s,[["render",n]]);export{c as __pageData,h 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://cdn.spiritlhl.net/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":1747665844000}'),s={name:"developer/index.md"};function n(r,i,l,o,p,d){return t(),a("div")}const h=e(s,[["render",n]]);export{c as __pageData,h as default};

View File

@@ -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":1747665132000}'),l={name:"developer/l10n.md"},r=a('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to &quot;介绍&quot;"></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 &quot;新本地化文本的添加&quot;"></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":1747665844000}'),l={name:"developer/l10n.md"},r=a('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to &quot;介绍&quot;"></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 &quot;新本地化文本的添加&quot;"></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};

View File

@@ -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":1747665132000}'),l={name:"developer/l10n.md"},r=a('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to &quot;介绍&quot;"></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 &quot;新本地化文本的添加&quot;"></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":1747665844000}'),l={name:"developer/l10n.md"},r=a('<p><strong>你可以在开发新功能时遵循以下步骤来支持本地化</strong></p><h2 id="介绍" tabindex="-1">介绍 <a class="header-anchor" href="#介绍" aria-label="Permalink to &quot;介绍&quot;"></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 &quot;新本地化文本的添加&quot;"></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};

View File

@@ -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/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1747665132000}'),a={name:"en/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/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1747665844000}'),a={name:"en/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};

View File

@@ -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/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1747665132000}'),a={name:"en/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/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1747665844000}'),a={name:"en/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};

View File

@@ -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/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1747665132000}'),a={name:"en/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 &quot;Introduction&quot;"></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 &quot;Adding a new localized text file&quot;"></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/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1747665844000}'),a={name:"en/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 &quot;Introduction&quot;"></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 &quot;Adding a new localized text file&quot;"></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};

View File

@@ -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/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1747665132000}'),a={name:"en/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 &quot;Introduction&quot;"></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 &quot;Adding a new localized text file&quot;"></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/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1747665844000}'),a={name:"en/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 &quot;Introduction&quot;"></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 &quot;Adding a new localized text file&quot;"></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};

View File

@@ -1 +1 @@
import{_ as t,v as o,b as d,F as e,L as a}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"To be developed, stay tuned","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_docker.md","filePath":"en/guide/block/block_docker.md","lastUpdated":1747665132000}'),s={name:"en/guide/block/block_docker.md"},n=e("h1",{id:"to-be-developed-stay-tuned",tabindex:"-1"},[a("To be developed, stay tuned "),e("a",{class:"header-anchor",href:"#to-be-developed-stay-tuned","aria-label":'Permalink to "To be developed, stay tuned"'},"")],-1),c=[n];function r(l,i,_,p,b,u){return o(),d("div",null,c)}const f=t(s,[["render",r]]);export{h as __pageData,f as default};
import{_ as t,v as o,b as d,F as e,L as a}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"To be developed, stay tuned","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_docker.md","filePath":"en/guide/block/block_docker.md","lastUpdated":1747665844000}'),s={name:"en/guide/block/block_docker.md"},n=e("h1",{id:"to-be-developed-stay-tuned",tabindex:"-1"},[a("To be developed, stay tuned "),e("a",{class:"header-anchor",href:"#to-be-developed-stay-tuned","aria-label":'Permalink to "To be developed, stay tuned"'},"")],-1),c=[n];function r(l,i,_,p,b,u){return o(),d("div",null,c)}const f=t(s,[["render",r]]);export{h as __pageData,f as default};

View File

@@ -1 +1 @@
import{_ as t,v as o,b as d,F as e,L as a}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"To be developed, stay tuned","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_docker.md","filePath":"en/guide/block/block_docker.md","lastUpdated":1747665132000}'),s={name:"en/guide/block/block_docker.md"},n=e("h1",{id:"to-be-developed-stay-tuned",tabindex:"-1"},[a("To be developed, stay tuned "),e("a",{class:"header-anchor",href:"#to-be-developed-stay-tuned","aria-label":'Permalink to "To be developed, stay tuned"'},"")],-1),c=[n];function r(l,i,_,p,b,u){return o(),d("div",null,c)}const f=t(s,[["render",r]]);export{h as __pageData,f as default};
import{_ as t,v as o,b as d,F as e,L as a}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"To be developed, stay tuned","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_docker.md","filePath":"en/guide/block/block_docker.md","lastUpdated":1747665844000}'),s={name:"en/guide/block/block_docker.md"},n=e("h1",{id:"to-be-developed-stay-tuned",tabindex:"-1"},[a("To be developed, stay tuned "),e("a",{class:"header-anchor",href:"#to-be-developed-stay-tuned","aria-label":'Permalink to "To be developed, stay tuned"'},"")],-1),c=[n];function r(l,i,_,p,b,u){return o(),d("div",null,c)}const f=t(s,[["render",r]]);export{h as __pageData,f as default};

View File

@@ -1,3 +1,3 @@
import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"Avoid theft by setting up a firewall to limit the IPs used by the VMs","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_pve.md","filePath":"en/guide/block/block_pve.md","lastUpdated":1747665132000}'),n={name:"en/guide/block/block_pve.md"},o=a(`<h1 id="avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" tabindex="-1">Avoid theft by setting up a firewall to limit the IPs used by the VMs <a class="header-anchor" href="#avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" aria-label="Permalink to &quot;Avoid theft by setting up a firewall to limit the IPs used by the VMs&quot;"></a></h1><p>Create the following file under the PVE&#39;s host machine</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;">/etc/pve/firewall/&lt;VMID&gt;.fw</span></span>
import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"Avoid theft by setting up a firewall to limit the IPs used by the VMs","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_pve.md","filePath":"en/guide/block/block_pve.md","lastUpdated":1747665844000}'),n={name:"en/guide/block/block_pve.md"},o=a(`<h1 id="avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" tabindex="-1">Avoid theft by setting up a firewall to limit the IPs used by the VMs <a class="header-anchor" href="#avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" aria-label="Permalink to &quot;Avoid theft by setting up a firewall to limit the IPs used by the VMs&quot;"></a></h1><p>Create the following file under the PVE&#39;s host machine</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;">/etc/pve/firewall/&lt;VMID&gt;.fw</span></span>
<span class="line"><span style="color:#89DDFF;">[</span><span style="color:#A6ACCD;">IPSET ipfilter-</span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;">net0</span><span style="color:#89DDFF;">&gt;]</span></span>
<span class="line"><span style="color:#FFCB6B;">xxx.xxx.xxx.xxx</span></span></code></pre></div><p><code>&lt;VMID&gt;</code> is replaced with the VMID number of the virtual machine, <code>&lt;net0&gt;</code> is replaced with the corresponding alias in the network device (which generally doesn&#39;t need to be changed unless you&#39;re restricted to IPV6), and <code>xxx.xxx.xxx.xxx</code> is replaced with the public IP address, noting that this IP corresponds to the network device in front of it.</p><p>The idea here is that net0 can only use the IP xxx.xxx.xxx.xxx, if you use any other IP the data will be dropped, thus restricting the VM to only use this IP.</p><p>There can be more than one IP, once this rule is enabled the VM can&#39;t use any other IP, if you don&#39;t write an IPv6 address it means the VM can&#39;t use an IPv6 address.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>This setting is only recommended when opening <strong>VMs</strong> with separate IPs that are not NAT full port mapped, otherwise it may cause strange issues resulting in the server being without a network.</p></div><p>This method <strong>is not suitable</strong> for use on PVEs that open any NAT VMs/containers.</p>`,8),i=[o];function l(r,p,h,c,d,u){return t(),s("div",null,i)}const g=e(n,[["render",l]]);export{b as __pageData,g as default};

View File

@@ -1,3 +1,3 @@
import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"Avoid theft by setting up a firewall to limit the IPs used by the VMs","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_pve.md","filePath":"en/guide/block/block_pve.md","lastUpdated":1747665132000}'),n={name:"en/guide/block/block_pve.md"},o=a(`<h1 id="avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" tabindex="-1">Avoid theft by setting up a firewall to limit the IPs used by the VMs <a class="header-anchor" href="#avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" aria-label="Permalink to &quot;Avoid theft by setting up a firewall to limit the IPs used by the VMs&quot;"></a></h1><p>Create the following file under the PVE&#39;s host machine</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;">/etc/pve/firewall/&lt;VMID&gt;.fw</span></span>
import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"Avoid theft by setting up a firewall to limit the IPs used by the VMs","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/block/block_pve.md","filePath":"en/guide/block/block_pve.md","lastUpdated":1747665844000}'),n={name:"en/guide/block/block_pve.md"},o=a(`<h1 id="avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" tabindex="-1">Avoid theft by setting up a firewall to limit the IPs used by the VMs <a class="header-anchor" href="#avoid-theft-by-setting-up-a-firewall-to-limit-the-ips-used-by-the-vms" aria-label="Permalink to &quot;Avoid theft by setting up a firewall to limit the IPs used by the VMs&quot;"></a></h1><p>Create the following file under the PVE&#39;s host machine</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;">/etc/pve/firewall/&lt;VMID&gt;.fw</span></span>
<span class="line"><span style="color:#89DDFF;">[</span><span style="color:#A6ACCD;">IPSET ipfilter-</span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;">net0</span><span style="color:#89DDFF;">&gt;]</span></span>
<span class="line"><span style="color:#FFCB6B;">xxx.xxx.xxx.xxx</span></span></code></pre></div><p><code>&lt;VMID&gt;</code> is replaced with the VMID number of the virtual machine, <code>&lt;net0&gt;</code> is replaced with the corresponding alias in the network device (which generally doesn&#39;t need to be changed unless you&#39;re restricted to IPV6), and <code>xxx.xxx.xxx.xxx</code> is replaced with the public IP address, noting that this IP corresponds to the network device in front of it.</p><p>The idea here is that net0 can only use the IP xxx.xxx.xxx.xxx, if you use any other IP the data will be dropped, thus restricting the VM to only use this IP.</p><p>There can be more than one IP, once this rule is enabled the VM can&#39;t use any other IP, if you don&#39;t write an IPv6 address it means the VM can&#39;t use an IPv6 address.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>This setting is only recommended when opening <strong>VMs</strong> with separate IPs that are not NAT full port mapped, otherwise it may cause strange issues resulting in the server being without a network.</p></div><p>This method <strong>is not suitable</strong> for use on PVEs that open any NAT VMs/containers.</p>`,8),i=[o];function l(r,p,h,c,d,u){return t(),s("div",null,i)}const g=e(n,[["render",l]]);export{b as __pageData,g as default};

View File

@@ -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/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1747665132000}'),i={name:"en/guide/dashboard.md"},o=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to &quot;Preparation Work&quot;"></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&#39;s preferable if this server can access GitHub&#39;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&#39;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&#39;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&#39;s system and hardware meet the requirements specified by the corresponding project. Refer to the project&#39;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&#39;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&#39;re not familiar with debugging bugs and fixing system issues, it&#39;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><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to &quot;Project Repository&quot;"></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><h2 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to &quot;PVE&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/pve" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/pve</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/pve.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="incus" tabindex="-1">incus <a class="header-anchor" href="#incus" aria-label="Permalink to &quot;incus&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/incus" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/incus</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/incus.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to &quot;Docker&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/docker.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to &quot;LXD&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/lxd.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p>',21),s=[o];function n(l,c,h,p,d,u){return t(),a("div",null,s)}const b=e(i,[["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/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1747665844000}'),i={name:"en/guide/dashboard.md"},o=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to &quot;Preparation Work&quot;"></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&#39;s preferable if this server can access GitHub&#39;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&#39;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&#39;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&#39;s system and hardware meet the requirements specified by the corresponding project. Refer to the project&#39;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&#39;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&#39;re not familiar with debugging bugs and fixing system issues, it&#39;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><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to &quot;Project Repository&quot;"></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><h2 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to &quot;PVE&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/pve" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/pve</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/pve.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="incus" tabindex="-1">incus <a class="header-anchor" href="#incus" aria-label="Permalink to &quot;incus&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/incus" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/incus</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/incus.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to &quot;Docker&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/docker.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to &quot;LXD&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/lxd.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p>',21),s=[o];function n(l,c,h,p,d,u){return t(),a("div",null,s)}const b=e(i,[["render",n]]);export{f as __pageData,b as default};

View File

@@ -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/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1747665132000}'),i={name:"en/guide/dashboard.md"},o=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to &quot;Preparation Work&quot;"></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&#39;s preferable if this server can access GitHub&#39;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&#39;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&#39;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&#39;s system and hardware meet the requirements specified by the corresponding project. Refer to the project&#39;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&#39;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&#39;re not familiar with debugging bugs and fixing system issues, it&#39;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><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to &quot;Project Repository&quot;"></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><h2 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to &quot;PVE&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/pve" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/pve</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/pve.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="incus" tabindex="-1">incus <a class="header-anchor" href="#incus" aria-label="Permalink to &quot;incus&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/incus" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/incus</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/incus.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to &quot;Docker&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/docker.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to &quot;LXD&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/lxd.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p>',21),s=[o];function n(l,c,h,p,d,u){return t(),a("div",null,s)}const b=e(i,[["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/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1747665844000}'),i={name:"en/guide/dashboard.md"},o=r('<h2 id="preparation-work" tabindex="-1">Preparation Work <a class="header-anchor" href="#preparation-work" aria-label="Permalink to &quot;Preparation Work&quot;"></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&#39;s preferable if this server can access GitHub&#39;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&#39;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&#39;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&#39;s system and hardware meet the requirements specified by the corresponding project. Refer to the project&#39;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&#39;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&#39;re not familiar with debugging bugs and fixing system issues, it&#39;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><h2 id="project-repository" tabindex="-1">Project Repository <a class="header-anchor" href="#project-repository" aria-label="Permalink to &quot;Project Repository&quot;"></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><h2 id="pve" tabindex="-1">PVE <a class="header-anchor" href="#pve" aria-label="Permalink to &quot;PVE&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/pve" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/pve</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/pve.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="incus" tabindex="-1">incus <a class="header-anchor" href="#incus" aria-label="Permalink to &quot;incus&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/incus" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/incus</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/incus.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="docker" tabindex="-1">Docker <a class="header-anchor" href="#docker" aria-label="Permalink to &quot;Docker&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/docker.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p><h2 id="lxd" tabindex="-1">LXD <a class="header-anchor" href="#lxd" aria-label="Permalink to &quot;LXD&quot;"></a></h2><p><a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/lxd.svg?action=hit&amp;title=Hits&amp;title_bg=%23555555&amp;count_bg=%230eecf8&amp;edge_flat=false" alt="Hits"></a></p>',21),s=[o];function n(l,c,h,p,d,u){return t(),a("div",null,s)}const b=e(i,[["render",n]]);export{f as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const p="/assets/wechat.e3b2e06e.jpg",_=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1747665132000}'),o={name:"en/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>WeChat</p><p><img src="'+p+'" alt="WeChat"></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;">TNqjaPYAmDsm9pbpLY79pixE8z1ce3Zj1B</span></span></code></pre></div><p>USDT-Polygon/Matic</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;">0xb81b44cb00f9e6e084f85e5da604ec479e7ffab6</span></span></code></pre></div>',8),c=[n];function i(l,r,d,h,b,f){return s(),e("div",null,c)}const g=a(o,[["render",i]]);export{_ as __pageData,g as default};
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const p="/assets/wechat.e3b2e06e.jpg",_=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1747665844000}'),o={name:"en/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>WeChat</p><p><img src="'+p+'" alt="WeChat"></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;">TNqjaPYAmDsm9pbpLY79pixE8z1ce3Zj1B</span></span></code></pre></div><p>USDT-Polygon/Matic</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;">0xb81b44cb00f9e6e084f85e5da604ec479e7ffab6</span></span></code></pre></div>',8),c=[n];function i(l,r,d,h,b,f){return s(),e("div",null,c)}const g=a(o,[["render",i]]);export{_ as __pageData,g as default};

View File

@@ -1 +1 @@
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const p="/assets/wechat.e3b2e06e.jpg",_=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1747665132000}'),o={name:"en/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>WeChat</p><p><img src="'+p+'" alt="WeChat"></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;">TNqjaPYAmDsm9pbpLY79pixE8z1ce3Zj1B</span></span></code></pre></div><p>USDT-Polygon/Matic</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;">0xb81b44cb00f9e6e084f85e5da604ec479e7ffab6</span></span></code></pre></div>',8),c=[n];function i(l,r,d,h,b,f){return s(),e("div",null,c)}const g=a(o,[["render",i]]);export{_ as __pageData,g as default};
import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const p="/assets/wechat.e3b2e06e.jpg",_=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1747665844000}'),o={name:"en/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>WeChat</p><p><img src="'+p+'" alt="WeChat"></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;">TNqjaPYAmDsm9pbpLY79pixE8z1ce3Zj1B</span></span></code></pre></div><p>USDT-Polygon/Matic</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;">0xb81b44cb00f9e6e084f85e5da604ec479e7ffab6</span></span></code></pre></div>',8),c=[n];function i(l,r,d,h,b,f){return s(),e("div",null,c)}const g=a(o,[["render",i]]);export{_ as __pageData,g as default};

View File

@@ -1,4 +1,4 @@
import{_ as e,v as n,b as s,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Running Android Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_android.md","filePath":"en/guide/docker/docker_android.md","lastUpdated":1747665132000}'),a={name:"en/guide/docker/docker_android.md"},t=o(`<h1 id="running-android-virtual-machine-in-docker" tabindex="-1">Running Android Virtual Machine in Docker <a class="header-anchor" href="#running-android-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Android Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment" tabindex="-1">One-Click Deployment <a class="header-anchor" href="#one-click-deployment" aria-label="Permalink to &quot;One-Click Deployment&quot;"></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>Ubuntu is recommended for hosting, Debian may cause white screen on Android.</p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag &quot;12.0.0-latest&quot;, higher versions resulted in a blank screen. Test which version works for you.)</p><p>If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.</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/oneclickvirt/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;">&amp;&amp;</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;">&amp;&amp;</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>Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test</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 n,b as s,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Running Android Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_android.md","filePath":"en/guide/docker/docker_android.md","lastUpdated":1747665844000}'),a={name:"en/guide/docker/docker_android.md"},t=o(`<h1 id="running-android-virtual-machine-in-docker" tabindex="-1">Running Android Virtual Machine in Docker <a class="header-anchor" href="#running-android-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Android Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment" tabindex="-1">One-Click Deployment <a class="header-anchor" href="#one-click-deployment" aria-label="Permalink to &quot;One-Click Deployment&quot;"></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>Ubuntu is recommended for hosting, Debian may cause white screen on Android.</p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag &quot;12.0.0-latest&quot;, higher versions resulted in a blank screen. Test which version works for you.)</p><p>If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.</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/oneclickvirt/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;">&amp;&amp;</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;">&amp;&amp;</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>Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test</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;">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;">&quot;</span><span style="color:#C3E88D;">redroid</span><span style="color:#89DDFF;">&quot;</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;">&#39;</span><span style="color:#C3E88D;">{print $3}</span><span style="color:#89DDFF;">&#39;)</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>
<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-available/reverse-proxy</span></span>

View File

@@ -1,4 +1,4 @@
import{_ as e,v as n,b as s,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Running Android Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_android.md","filePath":"en/guide/docker/docker_android.md","lastUpdated":1747665132000}'),a={name:"en/guide/docker/docker_android.md"},t=o(`<h1 id="running-android-virtual-machine-in-docker" tabindex="-1">Running Android Virtual Machine in Docker <a class="header-anchor" href="#running-android-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Android Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment" tabindex="-1">One-Click Deployment <a class="header-anchor" href="#one-click-deployment" aria-label="Permalink to &quot;One-Click Deployment&quot;"></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>Ubuntu is recommended for hosting, Debian may cause white screen on Android.</p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag &quot;12.0.0-latest&quot;, higher versions resulted in a blank screen. Test which version works for you.)</p><p>If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.</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/oneclickvirt/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;">&amp;&amp;</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;">&amp;&amp;</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>Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test</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 n,b as s,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Running Android Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_android.md","filePath":"en/guide/docker/docker_android.md","lastUpdated":1747665844000}'),a={name:"en/guide/docker/docker_android.md"},t=o(`<h1 id="running-android-virtual-machine-in-docker" tabindex="-1">Running Android Virtual Machine in Docker <a class="header-anchor" href="#running-android-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Android Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment" tabindex="-1">One-Click Deployment <a class="header-anchor" href="#one-click-deployment" aria-label="Permalink to &quot;One-Click Deployment&quot;"></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>Ubuntu is recommended for hosting, Debian may cause white screen on Android.</p><p>Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag &quot;12.0.0-latest&quot;, higher versions resulted in a blank screen. Test which version works for you.)</p><p>If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.</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/oneclickvirt/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;">&amp;&amp;</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;">&amp;&amp;</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>Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test</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;">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;">&quot;</span><span style="color:#C3E88D;">redroid</span><span style="color:#89DDFF;">&quot;</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;">&#39;</span><span style="color:#C3E88D;">{print $3}</span><span style="color:#89DDFF;">&#39;)</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>
<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-available/reverse-proxy</span></span>

View File

@@ -1,4 +1,4 @@
import{_ as s,v as o,b as e,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/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1747665132000}'),n={name:"en/guide/docker/docker_custom.md"},l=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 &quot;Script for One-Click Installation of Certain Containers using Docker&quot;"></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&#39;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><p>Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them</p><h2 id="one-click-setup-of-firefox-browser-container" tabindex="-1">One-Click Setup of Firefox Browser Container <a class="header-anchor" href="#one-click-setup-of-firefox-browser-container" aria-label="Permalink to &quot;One-Click Setup of Firefox Browser Container&quot;"></a></h2><ul><li>Crash recovery on startup has been configured.</li><li>Chinese fonts have been integrated into the container.</li><li>Built-in web validation with the option to set a custom password.</li><li>Maximum memory usage for the container is customizable.</li><li>Choice to enable VNC port, disabled by default.</li><li>No need to consider support for nested virtualization or server architecture.</li><li>Audio mapping is not supported; sound transmission is unavailable on both the web and VNC.</li></ul><p><strong>The host machine should have at least 1 core, 1GB RAM, and 5GB disk space. The created container will occupy a minimum of 1GB disk space.</strong></p><p><strong>Setup:</strong></p><p>After setup, the default password is <code>oneclick</code>.</p><p>The default web port is <code>3003</code>. Once the setup is complete, simply open <code>HOST_IPV4:PORT</code> in your browser.</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/oneclickvirt/docker/main/scripts/onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span></span></code></pre></div><p><strong>Deletion</strong></p><p>Modify the following port number <code>3003</code> to your actual port number, and then execute the command to delete the container, configuration file, and corresponding image</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:#A6ACCD;">PORT</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">3003</span><span style="color:#89DDFF;">&quot;</span></span>
import{_ as s,v as o,b as e,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/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1747665844000}'),n={name:"en/guide/docker/docker_custom.md"},l=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 &quot;Script for One-Click Installation of Certain Containers using Docker&quot;"></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&#39;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><p>Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them</p><h2 id="one-click-setup-of-firefox-browser-container" tabindex="-1">One-Click Setup of Firefox Browser Container <a class="header-anchor" href="#one-click-setup-of-firefox-browser-container" aria-label="Permalink to &quot;One-Click Setup of Firefox Browser Container&quot;"></a></h2><ul><li>Crash recovery on startup has been configured.</li><li>Chinese fonts have been integrated into the container.</li><li>Built-in web validation with the option to set a custom password.</li><li>Maximum memory usage for the container is customizable.</li><li>Choice to enable VNC port, disabled by default.</li><li>No need to consider support for nested virtualization or server architecture.</li><li>Audio mapping is not supported; sound transmission is unavailable on both the web and VNC.</li></ul><p><strong>The host machine should have at least 1 core, 1GB RAM, and 5GB disk space. The created container will occupy a minimum of 1GB disk space.</strong></p><p><strong>Setup:</strong></p><p>After setup, the default password is <code>oneclick</code>.</p><p>The default web port is <code>3003</code>. Once the setup is complete, simply open <code>HOST_IPV4:PORT</code> in your browser.</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/oneclickvirt/docker/main/scripts/onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span></span></code></pre></div><p><strong>Deletion</strong></p><p>Modify the following port number <code>3003</code> to your actual port number, and then execute the command to delete the container, configuration file, and corresponding image</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:#A6ACCD;">PORT</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">3003</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">stop</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">firefox_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">PORT</span><span style="color:#89DDFF;">}</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;">firefox_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">PORT</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;">/usr/local/bin/firefox_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">PORT</span><span style="color:#89DDFF;">}</span></span>

View File

@@ -1,4 +1,4 @@
import{_ as s,v as o,b as e,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/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1747665132000}'),n={name:"en/guide/docker/docker_custom.md"},l=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 &quot;Script for One-Click Installation of Certain Containers using Docker&quot;"></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&#39;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><p>Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them</p><h2 id="one-click-setup-of-firefox-browser-container" tabindex="-1">One-Click Setup of Firefox Browser Container <a class="header-anchor" href="#one-click-setup-of-firefox-browser-container" aria-label="Permalink to &quot;One-Click Setup of Firefox Browser Container&quot;"></a></h2><ul><li>Crash recovery on startup has been configured.</li><li>Chinese fonts have been integrated into the container.</li><li>Built-in web validation with the option to set a custom password.</li><li>Maximum memory usage for the container is customizable.</li><li>Choice to enable VNC port, disabled by default.</li><li>No need to consider support for nested virtualization or server architecture.</li><li>Audio mapping is not supported; sound transmission is unavailable on both the web and VNC.</li></ul><p><strong>The host machine should have at least 1 core, 1GB RAM, and 5GB disk space. The created container will occupy a minimum of 1GB disk space.</strong></p><p><strong>Setup:</strong></p><p>After setup, the default password is <code>oneclick</code>.</p><p>The default web port is <code>3003</code>. Once the setup is complete, simply open <code>HOST_IPV4:PORT</code> in your browser.</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/oneclickvirt/docker/main/scripts/onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span></span></code></pre></div><p><strong>Deletion</strong></p><p>Modify the following port number <code>3003</code> to your actual port number, and then execute the command to delete the container, configuration file, and corresponding image</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:#A6ACCD;">PORT</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">3003</span><span style="color:#89DDFF;">&quot;</span></span>
import{_ as s,v as o,b as e,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/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1747665844000}'),n={name:"en/guide/docker/docker_custom.md"},l=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 &quot;Script for One-Click Installation of Certain Containers using Docker&quot;"></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&#39;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><p>Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them</p><h2 id="one-click-setup-of-firefox-browser-container" tabindex="-1">One-Click Setup of Firefox Browser Container <a class="header-anchor" href="#one-click-setup-of-firefox-browser-container" aria-label="Permalink to &quot;One-Click Setup of Firefox Browser Container&quot;"></a></h2><ul><li>Crash recovery on startup has been configured.</li><li>Chinese fonts have been integrated into the container.</li><li>Built-in web validation with the option to set a custom password.</li><li>Maximum memory usage for the container is customizable.</li><li>Choice to enable VNC port, disabled by default.</li><li>No need to consider support for nested virtualization or server architecture.</li><li>Audio mapping is not supported; sound transmission is unavailable on both the web and VNC.</li></ul><p><strong>The host machine should have at least 1 core, 1GB RAM, and 5GB disk space. The created container will occupy a minimum of 1GB disk space.</strong></p><p><strong>Setup:</strong></p><p>After setup, the default password is <code>oneclick</code>.</p><p>The default web port is <code>3003</code>. Once the setup is complete, simply open <code>HOST_IPV4:PORT</code> in your browser.</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/oneclickvirt/docker/main/scripts/onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</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;">onefirefox.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&amp;&amp;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">onefirefox.sh</span></span></code></pre></div><p><strong>Deletion</strong></p><p>Modify the following port number <code>3003</code> to your actual port number, and then execute the command to delete the container, configuration file, and corresponding image</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:#A6ACCD;">PORT</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">3003</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">stop</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">firefox_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">PORT</span><span style="color:#89DDFF;">}</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;">firefox_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">PORT</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;">/usr/local/bin/firefox_</span><span style="color:#89DDFF;">\${</span><span style="color:#A6ACCD;">PORT</span><span style="color:#89DDFF;">}</span></span>

View File

@@ -1 +1 @@
import{_ as e,v as a,b as r,R as o}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Running macOS Virtual Machines in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_macos.md","filePath":"en/guide/docker/docker_macos.md","lastUpdated":1747665132000}'),c={name:"en/guide/docker/docker_macos.md"},n=o('<h1 id="running-macos-virtual-machines-in-docker" tabindex="-1">Running macOS Virtual Machines in Docker <a class="header-anchor" href="#running-macos-virtual-machines-in-docker" aria-label="Permalink to &quot;Running macOS Virtual Machines in Docker&quot;"></a></h1><h2 id="using-dockur" tabindex="-1">Using Dockur <a class="header-anchor" href="#using-dockur" aria-label="Permalink to &quot;Using Dockur&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/dockur/macos" target="_blank" rel="noreferrer">https://github.com/dockur/macos</a></p><h2 id="using-docker-osx" tabindex="-1">Using Docker-OSX <a class="header-anchor" href="#using-docker-osx" aria-label="Permalink to &quot;Using Docker-OSX&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/sickcodes/Docker-OSX" target="_blank" rel="noreferrer">https://github.com/sickcodes/Docker-OSX</a></p>',7),i=[n];function t(s,d,u,h,k,l){return a(),r("div",null,i)}const p=e(c,[["render",t]]);export{g as __pageData,p as default};
import{_ as e,v as a,b as r,R as o}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Running macOS Virtual Machines in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_macos.md","filePath":"en/guide/docker/docker_macos.md","lastUpdated":1747665844000}'),c={name:"en/guide/docker/docker_macos.md"},n=o('<h1 id="running-macos-virtual-machines-in-docker" tabindex="-1">Running macOS Virtual Machines in Docker <a class="header-anchor" href="#running-macos-virtual-machines-in-docker" aria-label="Permalink to &quot;Running macOS Virtual Machines in Docker&quot;"></a></h1><h2 id="using-dockur" tabindex="-1">Using Dockur <a class="header-anchor" href="#using-dockur" aria-label="Permalink to &quot;Using Dockur&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/dockur/macos" target="_blank" rel="noreferrer">https://github.com/dockur/macos</a></p><h2 id="using-docker-osx" tabindex="-1">Using Docker-OSX <a class="header-anchor" href="#using-docker-osx" aria-label="Permalink to &quot;Using Docker-OSX&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/sickcodes/Docker-OSX" target="_blank" rel="noreferrer">https://github.com/sickcodes/Docker-OSX</a></p>',7),i=[n];function t(s,d,u,h,k,l){return a(),r("div",null,i)}const p=e(c,[["render",t]]);export{g as __pageData,p as default};

View File

@@ -1 +1 @@
import{_ as e,v as a,b as r,R as o}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Running macOS Virtual Machines in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_macos.md","filePath":"en/guide/docker/docker_macos.md","lastUpdated":1747665132000}'),c={name:"en/guide/docker/docker_macos.md"},n=o('<h1 id="running-macos-virtual-machines-in-docker" tabindex="-1">Running macOS Virtual Machines in Docker <a class="header-anchor" href="#running-macos-virtual-machines-in-docker" aria-label="Permalink to &quot;Running macOS Virtual Machines in Docker&quot;"></a></h1><h2 id="using-dockur" tabindex="-1">Using Dockur <a class="header-anchor" href="#using-dockur" aria-label="Permalink to &quot;Using Dockur&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/dockur/macos" target="_blank" rel="noreferrer">https://github.com/dockur/macos</a></p><h2 id="using-docker-osx" tabindex="-1">Using Docker-OSX <a class="header-anchor" href="#using-docker-osx" aria-label="Permalink to &quot;Using Docker-OSX&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/sickcodes/Docker-OSX" target="_blank" rel="noreferrer">https://github.com/sickcodes/Docker-OSX</a></p>',7),i=[n];function t(s,d,u,h,k,l){return a(),r("div",null,i)}const p=e(c,[["render",t]]);export{g as __pageData,p as default};
import{_ as e,v as a,b as r,R as o}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"Running macOS Virtual Machines in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_macos.md","filePath":"en/guide/docker/docker_macos.md","lastUpdated":1747665844000}'),c={name:"en/guide/docker/docker_macos.md"},n=o('<h1 id="running-macos-virtual-machines-in-docker" tabindex="-1">Running macOS Virtual Machines in Docker <a class="header-anchor" href="#running-macos-virtual-machines-in-docker" aria-label="Permalink to &quot;Running macOS Virtual Machines in Docker&quot;"></a></h1><h2 id="using-dockur" tabindex="-1">Using Dockur <a class="header-anchor" href="#using-dockur" aria-label="Permalink to &quot;Using Dockur&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/dockur/macos" target="_blank" rel="noreferrer">https://github.com/dockur/macos</a></p><h2 id="using-docker-osx" tabindex="-1">Using Docker-OSX <a class="header-anchor" href="#using-docker-osx" aria-label="Permalink to &quot;Using Docker-OSX&quot;"></a></h2><p>Original Project:</p><p><a href="https://github.com/sickcodes/Docker-OSX" target="_blank" rel="noreferrer">https://github.com/sickcodes/Docker-OSX</a></p>',7),i=[n];function t(s,d,u,h,k,l){return a(),r("div",null,i)}const p=e(c,[["render",t]]);export{g as __pageData,p as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1747665132000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to &quot;Introduction&quot;"></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don&#39;t confuse them with the customized parts.</p><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>incus</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.</p></div><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to &quot;Project Features&quot;"></a></h2><p>Bulk or individual NAT server provisioning via docker</p><p>Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address</p><p>The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **</p><p>By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host&#39;s view.</p><p>Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so <strong>sharing the host&#39;s hard disk by default does not limit the disk size of each container</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to &quot;Configuration requirements&quot;"></a></h2><p>The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!</p><p>(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)</p><p>If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers</p><p>If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.</p>',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default};
import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1747665844000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to &quot;Introduction&quot;"></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don&#39;t confuse them with the customized parts.</p><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>incus</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.</p></div><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to &quot;Project Features&quot;"></a></h2><p>Bulk or individual NAT server provisioning via docker</p><p>Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address</p><p>The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **</p><p>By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host&#39;s view.</p><p>Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so <strong>sharing the host&#39;s hard disk by default does not limit the disk size of each container</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to &quot;Configuration requirements&quot;"></a></h2><p>The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!</p><p>(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)</p><p>If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers</p><p>If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.</p>',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1747665132000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to &quot;Introduction&quot;"></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don&#39;t confuse them with the customized parts.</p><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>incus</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.</p></div><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to &quot;Project Features&quot;"></a></h2><p>Bulk or individual NAT server provisioning via docker</p><p>Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address</p><p>The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **</p><p>By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host&#39;s view.</p><p>Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so <strong>sharing the host&#39;s hard disk by default does not limit the disk size of each container</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to &quot;Configuration requirements&quot;"></a></h2><p>The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!</p><p>(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)</p><p>If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers</p><p>If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.</p>',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default};
import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1747665844000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('<h1 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-label="Permalink to &quot;Introduction&quot;"></a></h1><p>The following is an introduction to the non-customized sections. Please ensure that you don&#39;t confuse them with the customized parts.</p><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>incus</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.</p></div><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/docker" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker</a></p><h2 id="project-features" tabindex="-1">Project Features <a class="header-anchor" href="#project-features" aria-label="Permalink to &quot;Project Features&quot;"></a></h2><p>Bulk or individual NAT server provisioning via docker</p><p>Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address</p><p>The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **</p><p>By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host&#39;s view.</p><p>Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so <strong>sharing the host&#39;s hard disk by default does not limit the disk size of each container</strong>.</p><h2 id="configuration-requirements" tabindex="-1">Configuration requirements <a class="header-anchor" href="#configuration-requirements" aria-label="Permalink to &quot;Configuration requirements&quot;"></a></h2><p>The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!</p><p>(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)</p><p>If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers</p><p>If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.</p>',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default};

View File

@@ -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/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1747665132000}'),o={name:"en/guide/docker/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 &quot;Solve the puzzle&quot;"></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to &quot;Common Docker Commands&quot;"></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 &lt;container_name&gt;</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 &lt;container_name&gt; /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 &lt;container_name_or_ID&gt;</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 &lt;container_name_or_ID&gt;</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 &lt;image_name_or_ID&gt;</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/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1747665844000}'),o={name:"en/guide/docker/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 &quot;Solve the puzzle&quot;"></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to &quot;Common Docker Commands&quot;"></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 &lt;container_name&gt;</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 &lt;container_name&gt; /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 &lt;container_name_or_ID&gt;</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 &lt;container_name_or_ID&gt;</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 &lt;image_name_or_ID&gt;</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};

View File

@@ -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/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1747665132000}'),o={name:"en/guide/docker/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 &quot;Solve the puzzle&quot;"></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to &quot;Common Docker Commands&quot;"></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 &lt;container_name&gt;</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 &lt;container_name&gt; /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 &lt;container_name_or_ID&gt;</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 &lt;container_name_or_ID&gt;</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 &lt;image_name_or_ID&gt;</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/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1747665844000}'),o={name:"en/guide/docker/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 &quot;Solve the puzzle&quot;"></a></h1><h2 id="common-docker-commands" tabindex="-1">Common Docker Commands <a class="header-anchor" href="#common-docker-commands" aria-label="Permalink to &quot;Common Docker Commands&quot;"></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 &lt;container_name&gt;</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 &lt;container_name&gt; /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 &lt;container_name_or_ID&gt;</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 &lt;container_name_or_ID&gt;</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 &lt;image_name_or_ID&gt;</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};

View File

@@ -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":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1747665132000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</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/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p><a href="https://github.com/linuxserver/docker-chromium" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-chromium</a></p><p><a href="https://github.com/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> and @CoiaPrant for providing docker guidance.</p>',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);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":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1747665844000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</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/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p><a href="https://github.com/linuxserver/docker-chromium" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-chromium</a></p><p><a href="https://github.com/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> and @CoiaPrant for providing docker guidance.</p>',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);export{m as __pageData,b as default};

View File

@@ -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":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1747665132000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</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/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p><a href="https://github.com/linuxserver/docker-chromium" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-chromium</a></p><p><a href="https://github.com/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> and @CoiaPrant for providing docker guidance.</p>',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);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":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1747665844000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://github.com/NetrisTV/ws-scrcpy" target="_blank" rel="noreferrer">https://github.com/NetrisTV/ws-scrcpy</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/yoursunny/ndpresponder" target="_blank" rel="noreferrer">https://github.com/yoursunny/ndpresponder</a></p><p><a href="https://github.com/linuxserver/docker-chromium" target="_blank" rel="noreferrer">https://github.com/linuxserver/docker-chromium</a></p><p><a href="https://github.com/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p>Thank <a href="https://github.com/Ella-Alinda" target="_blank" rel="noreferrer">@Ella-Alinda</a> and @CoiaPrant for providing docker guidance.</p>',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);export{m as __pageData,b as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Running Windows Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_windows.md","filePath":"en/guide/docker/docker_windows.md","lastUpdated":1747665132000}'),o={name:"en/guide/docker/docker_windows.md"},t=n(`<h1 id="running-windows-virtual-machine-in-docker" tabindex="-1">Running Windows Virtual Machine in Docker <a class="header-anchor" href="#running-windows-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Windows Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment-using-vagrant" tabindex="-1">One-Click Deployment (Using Vagrant) <a class="header-anchor" href="#one-click-deployment-using-vagrant" aria-label="Permalink to &quot;One-Click Deployment (Using Vagrant)&quot;"></a></h2><ul><li>Shares all resources of the host machine; based on Docker, so it only occupies the size of the system, suitable for multiple instances.</li><li>Shares IP; Docker&#39;s NAT mapping is employed. You can choose whether to map to the external network or just the internal network.</li><li>The configured Windows system is set to use a maximum of 1 core, 2GB RAM, and 50GB hard disk by default. Actual usage may vary based on usage patterns.</li><li>No need for iptables for NAT mapping; port mappings are automatically deleted when containers are removed, making maintenance easier.</li><li>Ensure that the host machine supports nested virtualization, and currently, only X86_64 architecture systems are supported. I haven&#39;t compiled corresponding images for ARM devices at the moment.</li></ul><p><strong>The host machine needs to support nested virtualization and currently only supports systems based on the X86_64 architecture; I don&#39;t have an ARM machine on hand to compile the corresponding image at the moment.</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;">egrep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-c</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">(vmx|svm)</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/proc/cpuinfo</span></span></code></pre></div><p>The result should be greater than or equal to 1 and cannot be 0.</p><p>Next, you need to configure Docker to start using the v1 version of cgroup.</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;">sed</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">s/GRUB_CMDLINE_LINUX=&quot;\\(.*\\)&quot;/GRUB_CMDLINE_LINUX=&quot;\\1 systemd.unified_cgroup_hierarchy=0&quot;/</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/default/grub</span></span>
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Running Windows Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_windows.md","filePath":"en/guide/docker/docker_windows.md","lastUpdated":1747665844000}'),o={name:"en/guide/docker/docker_windows.md"},t=n(`<h1 id="running-windows-virtual-machine-in-docker" tabindex="-1">Running Windows Virtual Machine in Docker <a class="header-anchor" href="#running-windows-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Windows Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment-using-vagrant" tabindex="-1">One-Click Deployment (Using Vagrant) <a class="header-anchor" href="#one-click-deployment-using-vagrant" aria-label="Permalink to &quot;One-Click Deployment (Using Vagrant)&quot;"></a></h2><ul><li>Shares all resources of the host machine; based on Docker, so it only occupies the size of the system, suitable for multiple instances.</li><li>Shares IP; Docker&#39;s NAT mapping is employed. You can choose whether to map to the external network or just the internal network.</li><li>The configured Windows system is set to use a maximum of 1 core, 2GB RAM, and 50GB hard disk by default. Actual usage may vary based on usage patterns.</li><li>No need for iptables for NAT mapping; port mappings are automatically deleted when containers are removed, making maintenance easier.</li><li>Ensure that the host machine supports nested virtualization, and currently, only X86_64 architecture systems are supported. I haven&#39;t compiled corresponding images for ARM devices at the moment.</li></ul><p><strong>The host machine needs to support nested virtualization and currently only supports systems based on the X86_64 architecture; I don&#39;t have an ARM machine on hand to compile the corresponding image at the moment.</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;">egrep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-c</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">(vmx|svm)</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/proc/cpuinfo</span></span></code></pre></div><p>The result should be greater than or equal to 1 and cannot be 0.</p><p>Next, you need to configure Docker to start using the v1 version of cgroup.</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;">sed</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">s/GRUB_CMDLINE_LINUX=&quot;\\(.*\\)&quot;/GRUB_CMDLINE_LINUX=&quot;\\1 systemd.unified_cgroup_hierarchy=0&quot;/</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/default/grub</span></span>
<span class="line"><span style="color:#FFCB6B;">update-grub</span></span>
<span class="line"><span style="color:#FFCB6B;">ls</span></span></code></pre></div><p>If there are no errors during execution, run the <code>reboot</code> command to restart the system and apply the settings.</p><p><strong>Supported Images</strong></p><p>We are using custom-built images: <a href="https://hub.docker.com/r/spiritlhl/wds" target="_blank" rel="noreferrer">https://hub.docker.com/r/spiritlhl/wds</a></p><table><thead><tr><th>Image Name</th><th>Image Size</th></tr></thead><tbody><tr><td>10</td><td>20GB</td></tr><tr><td>2022</td><td>17.5GB</td></tr><tr><td>2019</td><td>17GB</td></tr></tbody></table><p>The size of the created container will be slightly larger than the image size, but not by much.</p><p><strong>Download Script</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://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewindows.sh -o onewindows.sh &amp;&amp; chmod +x onewindows.sh</span></span></code></pre></div><p><strong>Usage Instructions</strong></p><p>Make sure to execute the following commands in a &#39;screen&#39; session before proceeding, to avoid potential disconnection or freezing of the SSH connection.</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;">./onewindows.sh &lt;container_name&gt; &lt;system_version&gt; &lt;RDP_port&gt; &lt;external_mapping&gt;</span></span></code></pre></div><ul><li>Replace &lt;container_name&gt; with the name.</li><li>Replace &lt;system_version&gt; with the desired Windows system version.</li><li>Replace &lt;RDP_port&gt; with the port number for RDP access.</li><li>If you want to enable external mapping, replace &lt;external_mapping&gt; with &#39;Y&#39;. If not, leave it blank or use &#39;N&#39;.</li></ul><p>Before initiating the setup, ensure that the host machine has a disk size at least twice the size of the image, plus an additional 10GB, as Docker needs to pull the image locally before creating the container.</p><p>During the creation process, the peak disk usage will be <code>host_system_size + image_size + container_size</code>.</p><p>For example, to set up a container with the name <code>test</code>, the container with the lowest occupancy <code>Windows 2019</code> system, map the extranet RDP port <code>13389</code> and set it to <code>extranet mapping</code> (mapping to your server&#39;s extranet IPV4 address)</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;">./onewindows.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">test</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2019</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">13389</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Y</span></span></code></pre></div><p>After it, the default usernames are <code>Administrator</code> and <code>vagrant</code>, with the default password being <code>vagrant</code>.</p><p>If you choose to open a mapped extranet port, be sure to log in and change the password of the corresponding account (both accounts may have, try it yourself), otherwise it may be abused by someone blasting</p><p><strong>Deletion</strong></p><p>To delete the corresponding image and container, first use the command <code>docker ps -a</code> and <code>docker images</code> to find the ID of the image named <code>spiritlhl/wds</code>. Then, use the following commands accordingly:</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_ID</span></span>
<span class="line"><span style="color:#A6ACCD;">docker rmi image_ID</span></span></code></pre></div><p>After deletion, you can create containers of different versions of Windows.</p><p><strong>Other similar projects</strong></p><p><a href="https://github.com/dockur/windows" target="_blank" rel="noreferrer">https://github.com/dockur/windows</a> - Similar project that support more systems, but have more resource requirements</p><p><a href="https://github.com/dockur/windows-arm/" target="_blank" rel="noreferrer">https://github.com/dockur/windows-arm/</a> - It&#39;s great that he has ARM servers for mirror compilation, my project doesn&#39;t have</p><p>Note that both of the above projects require a host with at least 4 cores of CPU, at least 4G of RAM, and at least 64G of hard disk, which is greater than the mirroring requirements of my project. (The advantage of his project is that you can customize many configuration items, see his corresponding project description for details.)</p><h2 id="manual-provisioning-via-the-dockur-project" tabindex="-1">Manual Provisioning (via the Dockur Project) <a class="header-anchor" href="#manual-provisioning-via-the-dockur-project" aria-label="Permalink to &quot;Manual Provisioning (via the Dockur Project)&quot;"></a></h2><p>This project supports VM creation using QEMU even on host systems that do not support nested virtualization.</p><h3 id="original-project-repositories" tabindex="-1">Original Project Repositories <a class="header-anchor" href="#original-project-repositories" aria-label="Permalink to &quot;Original Project Repositories&quot;"></a></h3><ul><li><a href="https://github.com/dockur/windows" target="_blank" rel="noreferrer">https://github.com/dockur/windows</a></li><li><a href="https://github.com/dockur/windows-arm" target="_blank" rel="noreferrer">https://github.com/dockur/windows-arm</a></li></ul><p> Notes:</p><ul><li><p>The original project provides only the launcher, not a Windows image.</p></li><li><p>The first container startup may take up to 4 hours on domestic (China) networks, due to image download and installation.</p></li><li><p>The host system should meet the following minimum hardware requirements (can be adjusted via script modifications):</p><ul><li>CPU: At least 4 cores</li><li>RAM: At least 4 GB</li><li>Disk: At least 64 GB</li></ul></li></ul><p>For customization such as reducing resource usage or changing launch parameters, refer to:</p><ul><li><a href="https://www.spiritysdx.top/20250405/" target="_blank" rel="noreferrer">https://www.spiritysdx.top/20250405/</a></li><li><a href="https://www.spiritysdx.top/20250315/" target="_blank" rel="noreferrer">https://www.spiritysdx.top/20250315/</a></li></ul><h3 id="for-x86-64-architecture-users" tabindex="-1">For x86_64 Architecture Users <a class="header-anchor" href="#for-x86-64-architecture-users" aria-label="Permalink to &quot;For x86\\_64 Architecture Users&quot;"></a></h3><p>A pre-modified single-file launcher is available to simplify building a Windows image. This version writes system files and images directly into Dockers writable layerno external image mounting required.</p><p>Download link: <a href="https://github.com/oneclickvirt/docker/releases/download/amd64_builder/builder.tar" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker/releases/download/amd64_builder/builder.tar</a></p><p>Import Docker image:</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;">load</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">builder.tar</span></span></code></pre></div><h4 id="launching-the-container-with-a-custom-windows-iso" tabindex="-1">Launching the Container with a Custom Windows ISO <a class="header-anchor" href="#launching-the-container-with-a-custom-windows-iso" aria-label="Permalink to &quot;Launching the Container with a Custom Windows ISO&quot;"></a></h4><p>Download a Windows ISO image from: <a href="https://down.idc.wiki/ISOS/Windows/" target="_blank" rel="noreferrer">https://down.idc.wiki/ISOS/Windows/</a></p><p>Sample command to start the container:</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;">-it</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-d</span><span style="color:#A6ACCD;"> \\</span></span>

View File

@@ -1,4 +1,4 @@
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Running Windows Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_windows.md","filePath":"en/guide/docker/docker_windows.md","lastUpdated":1747665132000}'),o={name:"en/guide/docker/docker_windows.md"},t=n(`<h1 id="running-windows-virtual-machine-in-docker" tabindex="-1">Running Windows Virtual Machine in Docker <a class="header-anchor" href="#running-windows-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Windows Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment-using-vagrant" tabindex="-1">One-Click Deployment (Using Vagrant) <a class="header-anchor" href="#one-click-deployment-using-vagrant" aria-label="Permalink to &quot;One-Click Deployment (Using Vagrant)&quot;"></a></h2><ul><li>Shares all resources of the host machine; based on Docker, so it only occupies the size of the system, suitable for multiple instances.</li><li>Shares IP; Docker&#39;s NAT mapping is employed. You can choose whether to map to the external network or just the internal network.</li><li>The configured Windows system is set to use a maximum of 1 core, 2GB RAM, and 50GB hard disk by default. Actual usage may vary based on usage patterns.</li><li>No need for iptables for NAT mapping; port mappings are automatically deleted when containers are removed, making maintenance easier.</li><li>Ensure that the host machine supports nested virtualization, and currently, only X86_64 architecture systems are supported. I haven&#39;t compiled corresponding images for ARM devices at the moment.</li></ul><p><strong>The host machine needs to support nested virtualization and currently only supports systems based on the X86_64 architecture; I don&#39;t have an ARM machine on hand to compile the corresponding image at the moment.</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;">egrep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-c</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">(vmx|svm)</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/proc/cpuinfo</span></span></code></pre></div><p>The result should be greater than or equal to 1 and cannot be 0.</p><p>Next, you need to configure Docker to start using the v1 version of cgroup.</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;">sed</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">s/GRUB_CMDLINE_LINUX=&quot;\\(.*\\)&quot;/GRUB_CMDLINE_LINUX=&quot;\\1 systemd.unified_cgroup_hierarchy=0&quot;/</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/default/grub</span></span>
import{_ as s,v as e,b as a,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Running Windows Virtual Machine in Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_windows.md","filePath":"en/guide/docker/docker_windows.md","lastUpdated":1747665844000}'),o={name:"en/guide/docker/docker_windows.md"},t=n(`<h1 id="running-windows-virtual-machine-in-docker" tabindex="-1">Running Windows Virtual Machine in Docker <a class="header-anchor" href="#running-windows-virtual-machine-in-docker" aria-label="Permalink to &quot;Running Windows Virtual Machine in Docker&quot;"></a></h1><h2 id="one-click-deployment-using-vagrant" tabindex="-1">One-Click Deployment (Using Vagrant) <a class="header-anchor" href="#one-click-deployment-using-vagrant" aria-label="Permalink to &quot;One-Click Deployment (Using Vagrant)&quot;"></a></h2><ul><li>Shares all resources of the host machine; based on Docker, so it only occupies the size of the system, suitable for multiple instances.</li><li>Shares IP; Docker&#39;s NAT mapping is employed. You can choose whether to map to the external network or just the internal network.</li><li>The configured Windows system is set to use a maximum of 1 core, 2GB RAM, and 50GB hard disk by default. Actual usage may vary based on usage patterns.</li><li>No need for iptables for NAT mapping; port mappings are automatically deleted when containers are removed, making maintenance easier.</li><li>Ensure that the host machine supports nested virtualization, and currently, only X86_64 architecture systems are supported. I haven&#39;t compiled corresponding images for ARM devices at the moment.</li></ul><p><strong>The host machine needs to support nested virtualization and currently only supports systems based on the X86_64 architecture; I don&#39;t have an ARM machine on hand to compile the corresponding image at the moment.</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;">egrep</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-c</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">(vmx|svm)</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/proc/cpuinfo</span></span></code></pre></div><p>The result should be greater than or equal to 1 and cannot be 0.</p><p>Next, you need to configure Docker to start using the v1 version of cgroup.</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;">sed</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">s/GRUB_CMDLINE_LINUX=&quot;\\(.*\\)&quot;/GRUB_CMDLINE_LINUX=&quot;\\1 systemd.unified_cgroup_hierarchy=0&quot;/</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/etc/default/grub</span></span>
<span class="line"><span style="color:#FFCB6B;">update-grub</span></span>
<span class="line"><span style="color:#FFCB6B;">ls</span></span></code></pre></div><p>If there are no errors during execution, run the <code>reboot</code> command to restart the system and apply the settings.</p><p><strong>Supported Images</strong></p><p>We are using custom-built images: <a href="https://hub.docker.com/r/spiritlhl/wds" target="_blank" rel="noreferrer">https://hub.docker.com/r/spiritlhl/wds</a></p><table><thead><tr><th>Image Name</th><th>Image Size</th></tr></thead><tbody><tr><td>10</td><td>20GB</td></tr><tr><td>2022</td><td>17.5GB</td></tr><tr><td>2019</td><td>17GB</td></tr></tbody></table><p>The size of the created container will be slightly larger than the image size, but not by much.</p><p><strong>Download Script</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://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewindows.sh -o onewindows.sh &amp;&amp; chmod +x onewindows.sh</span></span></code></pre></div><p><strong>Usage Instructions</strong></p><p>Make sure to execute the following commands in a &#39;screen&#39; session before proceeding, to avoid potential disconnection or freezing of the SSH connection.</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;">./onewindows.sh &lt;container_name&gt; &lt;system_version&gt; &lt;RDP_port&gt; &lt;external_mapping&gt;</span></span></code></pre></div><ul><li>Replace &lt;container_name&gt; with the name.</li><li>Replace &lt;system_version&gt; with the desired Windows system version.</li><li>Replace &lt;RDP_port&gt; with the port number for RDP access.</li><li>If you want to enable external mapping, replace &lt;external_mapping&gt; with &#39;Y&#39;. If not, leave it blank or use &#39;N&#39;.</li></ul><p>Before initiating the setup, ensure that the host machine has a disk size at least twice the size of the image, plus an additional 10GB, as Docker needs to pull the image locally before creating the container.</p><p>During the creation process, the peak disk usage will be <code>host_system_size + image_size + container_size</code>.</p><p>For example, to set up a container with the name <code>test</code>, the container with the lowest occupancy <code>Windows 2019</code> system, map the extranet RDP port <code>13389</code> and set it to <code>extranet mapping</code> (mapping to your server&#39;s extranet IPV4 address)</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;">./onewindows.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">test</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2019</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">13389</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Y</span></span></code></pre></div><p>After it, the default usernames are <code>Administrator</code> and <code>vagrant</code>, with the default password being <code>vagrant</code>.</p><p>If you choose to open a mapped extranet port, be sure to log in and change the password of the corresponding account (both accounts may have, try it yourself), otherwise it may be abused by someone blasting</p><p><strong>Deletion</strong></p><p>To delete the corresponding image and container, first use the command <code>docker ps -a</code> and <code>docker images</code> to find the ID of the image named <code>spiritlhl/wds</code>. Then, use the following commands accordingly:</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_ID</span></span>
<span class="line"><span style="color:#A6ACCD;">docker rmi image_ID</span></span></code></pre></div><p>After deletion, you can create containers of different versions of Windows.</p><p><strong>Other similar projects</strong></p><p><a href="https://github.com/dockur/windows" target="_blank" rel="noreferrer">https://github.com/dockur/windows</a> - Similar project that support more systems, but have more resource requirements</p><p><a href="https://github.com/dockur/windows-arm/" target="_blank" rel="noreferrer">https://github.com/dockur/windows-arm/</a> - It&#39;s great that he has ARM servers for mirror compilation, my project doesn&#39;t have</p><p>Note that both of the above projects require a host with at least 4 cores of CPU, at least 4G of RAM, and at least 64G of hard disk, which is greater than the mirroring requirements of my project. (The advantage of his project is that you can customize many configuration items, see his corresponding project description for details.)</p><h2 id="manual-provisioning-via-the-dockur-project" tabindex="-1">Manual Provisioning (via the Dockur Project) <a class="header-anchor" href="#manual-provisioning-via-the-dockur-project" aria-label="Permalink to &quot;Manual Provisioning (via the Dockur Project)&quot;"></a></h2><p>This project supports VM creation using QEMU even on host systems that do not support nested virtualization.</p><h3 id="original-project-repositories" tabindex="-1">Original Project Repositories <a class="header-anchor" href="#original-project-repositories" aria-label="Permalink to &quot;Original Project Repositories&quot;"></a></h3><ul><li><a href="https://github.com/dockur/windows" target="_blank" rel="noreferrer">https://github.com/dockur/windows</a></li><li><a href="https://github.com/dockur/windows-arm" target="_blank" rel="noreferrer">https://github.com/dockur/windows-arm</a></li></ul><p> Notes:</p><ul><li><p>The original project provides only the launcher, not a Windows image.</p></li><li><p>The first container startup may take up to 4 hours on domestic (China) networks, due to image download and installation.</p></li><li><p>The host system should meet the following minimum hardware requirements (can be adjusted via script modifications):</p><ul><li>CPU: At least 4 cores</li><li>RAM: At least 4 GB</li><li>Disk: At least 64 GB</li></ul></li></ul><p>For customization such as reducing resource usage or changing launch parameters, refer to:</p><ul><li><a href="https://www.spiritysdx.top/20250405/" target="_blank" rel="noreferrer">https://www.spiritysdx.top/20250405/</a></li><li><a href="https://www.spiritysdx.top/20250315/" target="_blank" rel="noreferrer">https://www.spiritysdx.top/20250315/</a></li></ul><h3 id="for-x86-64-architecture-users" tabindex="-1">For x86_64 Architecture Users <a class="header-anchor" href="#for-x86-64-architecture-users" aria-label="Permalink to &quot;For x86\\_64 Architecture Users&quot;"></a></h3><p>A pre-modified single-file launcher is available to simplify building a Windows image. This version writes system files and images directly into Dockers writable layerno external image mounting required.</p><p>Download link: <a href="https://github.com/oneclickvirt/docker/releases/download/amd64_builder/builder.tar" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/docker/releases/download/amd64_builder/builder.tar</a></p><p>Import Docker image:</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;">load</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-i</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">builder.tar</span></span></code></pre></div><h4 id="launching-the-container-with-a-custom-windows-iso" tabindex="-1">Launching the Container with a Custom Windows ISO <a class="header-anchor" href="#launching-the-container-with-a-custom-windows-iso" aria-label="Permalink to &quot;Launching the Container with a Custom Windows ISO&quot;"></a></h4><p>Download a Windows ISO image from: <a href="https://down.idc.wiki/ISOS/Windows/" target="_blank" rel="noreferrer">https://down.idc.wiki/ISOS/Windows/</a></p><p>Sample command to start the container:</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;">-it</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-d</span><span style="color:#A6ACCD;"> \\</span></span>

View File

@@ -1 +1 @@
import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1747665132000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></a></h2><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default};
import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1747665844000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></a></h2><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1747665132000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></a></h2><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default};
import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1747665844000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></a></h2><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default};

View File

@@ -1 +1 @@
import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1747665132000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://github.com/zabbly/incus" target="_blank" rel="noreferrer">https://github.com/zabbly/incus</a></p>',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default};
import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1747665844000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://github.com/zabbly/incus" target="_blank" rel="noreferrer">https://github.com/zabbly/incus</a></p>',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1747665132000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://github.com/zabbly/incus" target="_blank" rel="noreferrer">https://github.com/zabbly/incus</a></p>',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default};
import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1747665844000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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://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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://github.com/zabbly/incus" target="_blank" rel="noreferrer">https://github.com/zabbly/incus</a></p>',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default};

View File

@@ -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/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1747665132000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to &quot;Preface&quot;"></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><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>LXD</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></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/oneclickvirt/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/oneclickvirt/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 &quot;Project Features&quot;"></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, automatically switch to another storage type if btrfs not supported</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>lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host&#39;s view</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/oneclickvirt/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 &quot;Detecting the environment&quot;"></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 &lt;(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),s=[r];function i(d,c,l,h,p,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/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1747665844000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to &quot;Preface&quot;"></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><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>LXD</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></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/oneclickvirt/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/oneclickvirt/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 &quot;Project Features&quot;"></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, automatically switch to another storage type if btrfs not supported</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>lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host&#39;s view</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/oneclickvirt/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 &quot;Detecting the environment&quot;"></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 &lt;(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),s=[r];function i(d,c,l,h,p,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default};

View File

@@ -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/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1747665132000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to &quot;Preface&quot;"></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><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>LXD</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></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/oneclickvirt/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/oneclickvirt/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 &quot;Project Features&quot;"></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, automatically switch to another storage type if btrfs not supported</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>lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host&#39;s view</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/oneclickvirt/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 &quot;Detecting the environment&quot;"></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 &lt;(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),s=[r];function i(d,c,l,h,p,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/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1747665844000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('<h1 id="preface" tabindex="-1">Preface <a class="header-anchor" href="#preface" aria-label="Permalink to &quot;Preface&quot;"></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><p>If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the <code>Customize</code> partition in the <code>LXD</code> module for the <code>Attach a free IPV6 address segment</code> to the host, and attach an IPV6 subnet to the host before installing the environment.</p><p>Feel free to give the project a <code>Star</code> for free support!--&gt;<a href="https://github.com/oneclickvirt/lxd" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/lxd</a></p><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></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/oneclickvirt/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/oneclickvirt/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 &quot;Project Features&quot;"></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, automatically switch to another storage type if btrfs not supported</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>lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host&#39;s view</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/oneclickvirt/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 &quot;Detecting the environment&quot;"></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 &lt;(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)</span></span></code></pre></div>',15),s=[r];function i(d,c,l,h,p,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1747665132000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></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&#39;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 &quot;What if the lxc command says it can&#39;t be found after LXD is installed?&quot;"></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 &gt;/dev/null 2&gt;&amp;1 &amp;&amp; echo &#39;alias lxc=&quot;/snap/bin/lxc&quot;&#39; &gt;&gt; /root/.bashrc &amp;&amp; source /root/.bashrc</span></span>\n<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>After executing this command try</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>to see if the lxc command is fixed.</p><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};
import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1747665844000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></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&#39;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 &quot;What if the lxc command says it can&#39;t be found after LXD is installed?&quot;"></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 &gt;/dev/null 2&gt;&amp;1 &amp;&amp; echo &#39;alias lxc=&quot;/snap/bin/lxc&quot;&#39; &gt;&gt; /root/.bashrc &amp;&amp; source /root/.bashrc</span></span>\n<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>After executing this command try</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>to see if the lxc command is fixed.</p><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1747665132000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></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&#39;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 &quot;What if the lxc command says it can&#39;t be found after LXD is installed?&quot;"></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 &gt;/dev/null 2&gt;&amp;1 &amp;&amp; echo &#39;alias lxc=&quot;/snap/bin/lxc&quot;&#39; &gt;&gt; /root/.bashrc &amp;&amp; source /root/.bashrc</span></span>\n<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>After executing this command try</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>to see if the lxc command is fixed.</p><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};
import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1747665844000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('<h2 id="solve-the-puzzle" tabindex="-1">Solve the puzzle <a class="header-anchor" href="#solve-the-puzzle" aria-label="Permalink to &quot;Solve the puzzle&quot;"></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&#39;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 &quot;What if the lxc command says it can&#39;t be found after LXD is installed?&quot;"></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 &gt;/dev/null 2&gt;&amp;1 &amp;&amp; echo &#39;alias lxc=&quot;/snap/bin/lxc&quot;&#39; &gt;&gt; /root/.bashrc &amp;&amp; source /root/.bashrc</span></span>\n<span class="line"><span style="color:#A6ACCD;">export PATH=$PATH:/snap/bin</span></span></code></pre></div><p>After executing this command try</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>to see if the lxc command is fixed.</p><h2 id="what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" tabindex="-1">What to do if you open centos7 and find that CGroupV1 is not supported? <a class="header-anchor" href="#what-to-do-if-you-open-centos7-and-find-that-cgroupv1-is-not-supported" aria-label="Permalink to &quot;What to do if you open centos7 and find that CGroupV1 is not supported?&quot;"></a></h2><p>Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.</p><p>Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.</p><p>Edit the ```/etc/default/grub<code>file and add</code>systemd.unified_cgroup_hierarchy=0<code>to the end of the parameters in</code>GRUB_CMDLINE_LINUX_DEFAULT``, just like:</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=&quot;quiet splash systemd.unified_cgroup_hierarchy=0&quot;</span></span></code></pre></div><p>Save the file and run the following command to update the GRUB boot.</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>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 &quot;Currently verified VPS vendors that can open containers with separate IPV6 addresses.&quot;"></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>',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1747665132000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://images.opsmaru.dev/" target="_blank" rel="noreferrer">https://images.opsmaru.dev/</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>',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default};
import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1747665844000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://images.opsmaru.dev/" target="_blank" rel="noreferrer">https://images.opsmaru.dev/</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>',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default};

View File

@@ -1 +1 @@
import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1747665132000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://images.opsmaru.dev/" target="_blank" rel="noreferrer">https://images.opsmaru.dev/</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>',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default};
import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1747665844000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('<h2 id="acknowledgements" tabindex="-1">Acknowledgements <a class="header-anchor" href="#acknowledgements" aria-label="Permalink to &quot;Acknowledgements&quot;"></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/SuperManito/LinuxMirrors" target="_blank" rel="noreferrer">https://github.com/SuperManito/LinuxMirrors</a></p><p><a href="https://images.opsmaru.dev/" target="_blank" rel="noreferrer">https://images.opsmaru.dev/</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>',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default};

View File

@@ -1 +1 @@
import{_ as e,v as a,b as t,F as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/images/readme.md","filePath":"en/guide/pve/images/readme.md","lastUpdated":1747665132000}'),d={name:"en/guide/pve/images/readme.md"},r=s("p",null,"暂存图片",-1),n=[r];function i(o,m,p,_,c,l){return a(),t("div",null,n)}const g=e(d,[["render",i]]);export{f as __pageData,g as default};
import{_ as e,v as a,b as t,F as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/images/readme.md","filePath":"en/guide/pve/images/readme.md","lastUpdated":1747665844000}'),d={name:"en/guide/pve/images/readme.md"},r=s("p",null,"暂存图片",-1),n=[r];function i(o,m,p,_,c,l){return a(),t("div",null,n)}const g=e(d,[["render",i]]);export{f as __pageData,g as default};

View File

@@ -1 +1 @@
import{_ as e,v as a,b as t,F as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/images/readme.md","filePath":"en/guide/pve/images/readme.md","lastUpdated":1747665132000}'),d={name:"en/guide/pve/images/readme.md"},r=s("p",null,"暂存图片",-1),n=[r];function i(o,m,p,_,c,l){return a(),t("div",null,n)}const g=e(d,[["render",i]]);export{f as __pageData,g as default};
import{_ as e,v as a,b as t,F as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/images/readme.md","filePath":"en/guide/pve/images/readme.md","lastUpdated":1747665844000}'),d={name:"en/guide/pve/images/readme.md"},r=s("p",null,"暂存图片",-1),n=[r];function i(o,m,p,_,c,l){return a(),t("div",null,n)}const g=e(d,[["render",i]]);export{f as __pageData,g as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1747665132000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`<h1 id="customized-partitions" tabindex="-1">Customized partitions <a class="header-anchor" href="#customized-partitions" aria-label="Permalink to &quot;Customized partitions&quot;"></a></h1><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 &quot;Installing Proxmox VE 7 on a non-Debian system&quot;"></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 o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1747665844000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`<h1 id="customized-partitions" tabindex="-1">Customized partitions <a class="header-anchor" href="#customized-partitions" aria-label="Permalink to &quot;Customized partitions&quot;"></a></h1><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 &quot;Installing Proxmox VE 7 on a non-Debian system&quot;"></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 &quot;https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)&quot; -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&#39;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>

View File

@@ -1,4 +1,4 @@
import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1747665132000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`<h1 id="customized-partitions" tabindex="-1">Customized partitions <a class="header-anchor" href="#customized-partitions" aria-label="Permalink to &quot;Customized partitions&quot;"></a></h1><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 &quot;Installing Proxmox VE 7 on a non-Debian system&quot;"></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 o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1747665844000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`<h1 id="customized-partitions" tabindex="-1">Customized partitions <a class="header-anchor" href="#customized-partitions" aria-label="Permalink to &quot;Customized partitions&quot;"></a></h1><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 &quot;Installing Proxmox VE 7 on a non-Debian system&quot;"></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 &quot;https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)&quot; -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&#39;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>

Some files were not shown because too many files have changed in this diff Show More