hexo/posts/b5a1f33a.html

532 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="/img/logo.png">
<meta name="author" content="浪子">
<meta name="subtitle" content="一个分享自己生活的博客">
<meta name="description" content="曾梦想仗剑走天涯;因太胖放弃原计划.">
<meta name="keywords" content=",DIY,黑苹果,分享,自由">
<link rel="alternate" href="/atom.xml " title="提剑追梦" type="application/atom+xml">
<title>EasyPanel:一款使用Docker部署的VPS面板 | 提剑追梦</title>
<link rel="stylesheet" href="/css/style.css" >
<link rel="stylesheet" href="/css/partial/dark.css" >
<link rel="stylesheet" href="/css/partial/highlight/atom-one-light.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css">
<link rel="stylesheet" href="https://cdnjs.sgcd.net/lxgw-wenkai-screen-webfont/lxgwwenkaigbscreen.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/a2396837/CDN@latest/css/iconfont.css">
<script src="/js/todark.js"></script>
<meta name="generator" content="Hexo 6.3.0"></head>
</html>
<div class="nav index" style="height: 60px;">
<div class="title animated fadeInDown">
<div class="layui-container">
<div class="nav-title"><a href="/" title="提剑追梦">提剑追梦</a></div>
<div class="nav-list">
<button> <span class=""></span><span style="display: block;"></span><span class=""></span> </button>
<ul class="layui-nav" lay-filter="">
<li class="layui-nav-item">
<a href="/search/ ">
<i class=" fas fa-search-plus " style="color: rgb(3 169 244);"></i>
<span class="layui-nav-item-name">搜索</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/ ">
<i class=" fab fa-fort-awesome " style="color: rgb(255 107 107);"></i>
<span class="layui-nav-item-name">首页</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/archives/ ">
<i class=" fas fa-archive " style="color: rgb(10 189 227);"></i>
<span class="layui-nav-item-name">归档</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/tags/ ">
<i class=" fas fa-hashtag " style="color: rgb(254 202 87);"></i>
<span class="layui-nav-item-name">标签</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/fcircle/ ">
<i class=" fas fa-heart " style="color: rgb(29 209 161);"></i>
<span class="layui-nav-item-name">朋友圈</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/links/ ">
<i class=" fab fa-weixin " style="color: hsl(152deg 73% 45%);"></i>
<span class="layui-nav-item-name">友链</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/memos/ ">
<i class=" fas fa-coffee " style="color:#31c7c1;"></i>
<span class="layui-nav-item-name">说说</span>
</a>
</li>
<li class="layui-nav-item">
<a href="/about/ ">
<i class=" fab fa-grav " style="color: rgb(154 106 247);"></i>
<span class="layui-nav-item-name">关于</span>
</a>
</li>
<li class="layui-nav-item" id="btn-toggle-dark">🌙</li>
<span class="layui-nav-bar" style="left: 342px; top: 78px; width: 0px; opacity: 0;"></span>
</ul>
</div>
</div>
</div>
</div>
<header class="header">
<div class="logo">
<a href="/"><img src="https://img.imsun.org/avatar.jpg" onerror=this.onerror=null,this.src="/img/loading.gif"></a>
</div>
</div>
<div class="motto">
<span>曾梦想仗剑走天涯</span>
</div>
<div class="social">
<a class="social-icon" href="https://github.com/jkjoy" target="_blank" title="Github">
<i class="iconfont icon-GitHub" aria-hidden="true"></i>
</a>
<a class="social-icon" href="mailto:jkjoy@163.com" target="_blank" title="Email">
<i class="iconfont icon-email" aria-hidden="true"></i>
</a>
<a class="social-icon" href="/atom.xml" target="_blank" title="rss">
<i class="iconfont icon-rss" aria-hidden="true"></i>
</a>
</div>
</header>
<article id="post">
<div class="post-title">EasyPanel:一款使用Docker部署的VPS面板</div>
<div class="post-meta">
<div class="post-meta-item date">
<span title="发表于 2024.04.02"><i class="far fa-calendar-alt"></i> 2024.04.02</span>
</div>
<div class="post-meta-item updated">
<span title="更新于 2024.05.15"><i class="far fa-calendar-check"></i> 2024.05.15</span>
</div>
<div class="post-meta-item categories">
<i class="fas fa-inbox article-meta__icon"></i> <a href="/categories/%E5%88%86%E4%BA%AB/">分享</a>
</div>
<div class="post-meta-item wordcount">
<i class="fas fa-pencil-alt"></i> <span class="post-count">588 字</span>
<i class="far fa-clock"></i> <span class="post-count">2 分钟</span>
</div>
</div>
<div class="content">
<blockquote><h3>自动摘要</h3>
ai: 这篇文章介绍了EasyPanel一款基于docker的可视化面板提供免费和付费两种模式。文章主要围绕免费模式进行讲解包括安装过程、使用指南以及如何部署应用和服务。文中还具体说明了如何通过模板快速部署常见的应用以及如何手动配置和部署不太常见的应用如gatus。此外还提到了EasyPanel的一些优势如简便操作、自动处理SSL证书等。
</blockquote>
<div><h2 id="EasyPanel"><a href="#EasyPanel" class="headerlink" title="EasyPanel"></a>EasyPanel</h2><p>官方网站 <code>EasyPanel.io</code> </p>
<p><code>EasyPanel</code>是一款基于<code>docker</code>的可视化面板. 拥有<code>付费</code><code>免费</code>两种模式</p>
<p>本文介绍以免费模式为主(主要是收费不菲)<br><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112071321641777.webp"></p>
<p>从首页的介绍可以看到他的特色就是通过直观的界面部署应用,管理数据库以及签发SSL证书.</p>
<h3 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h3><ul>
<li>建议在纯净的linux系统下安装</li>
</ul>
<p>通过命令行</p>
<figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">curl -sSL https://get.easypanel.io | sh</span><br></pre></td></tr></table></figure>
<p>即可完成安装,官方给出的配置要求内存大于2G,根据实测,1G的vps运行起来问题也不大.</p>
<p>由于是容器化的部署方式,各个应用之间独立运行.NICE.</p>
<h3 id="使用"><a href="#使用" class="headerlink" title="使用"></a>使用</h3><h4 id="访问"><a href="#访问" class="headerlink" title="访问"></a>访问</h4><p>安装之后通过</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ip:3000</span><br></pre></td></tr></table></figure>
<p>访问面板,初次访问会要求创建管理员账号和密码.</p>
<h4 id="登录"><a href="#登录" class="headerlink" title="登录"></a>登录</h4><p>进入面板会发现很简洁<br><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112073049083915.webp" alt="进入面板"></p>
<h4 id="创建"><a href="#创建" class="headerlink" title="创建"></a>创建</h4><p>创建项目点击<code>Create Project</code>填写项目名称,确定,进入该项目</p>
<h4 id="模板"><a href="#模板" class="headerlink" title="模板"></a>模板</h4><p><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112074114481559.webp"></p>
<p>点击<code>templates</code>会发现这里有很多常用的应用模板,只要点击就可以部署.</p>
<p>譬如<code>memos</code> <code>uptime</code> <code>wordpress</code> <code>Flarum</code> <code>GoToSocial</code> <code>Umami</code> <code>Vaultwarden</code> 等上百款应用</p>
<h4 id="服务"><a href="#服务" class="headerlink" title="服务"></a>服务</h4><p>常见的模板应用大多都是全世界著名的应用.国内的某些应用,或者不是很常见的应用该如何部署</p>
<p>此处以<code>gatus</code>为例</p>
<p><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112074948886487.webp"> </p>
<p>点击<code>APP</code>,填写名称,确认 </p>
<p><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112075045277316.webp"> </p>
<p>点击<code>General</code><br><code>gatus</code>的docker镜像为<code>twinproduction/gatus:latest</code><br><code>Docker images</code>中填入<code>twinproduction/gatus:latest</code><br><code>SAVE</code>保存.<br><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112075239607243.webp"><br>点击<code>Domain</code>-<code>ADD Domain</code>-<code>HOST</code>填写域名</p>
<p><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112075722912648.webp"></p>
<p>全部填写完成之后,点<code>SAVE</code>保存. </p>
<p><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112080453993746.webp"> </p>
<p>点击<code>Advanced</code>-<code>Mounts</code>-<code>ADD VOLUME Mounts</code> </p>
<p><code>Name</code>为宿主机名称可以自己设置 </p>
<p><code>Mount Path</code>为Docker</p>
<p>挂载目录 <code>/data</code></p>
<p>点击<code>ADD File Mounts</code>,其中 <code>Mount Path</code>为挂载路径,此处填写为<code>/config/config.yaml</code> </p>
<p><code>Content</code>为yaml格式的配置文件 与 <code>config.yaml</code>内容对应 </p>
<p>以下为示例内容可自行修改</p>
<figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">storage:</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">sqlite</span></span><br><span class="line"> <span class="attr">path:</span> <span class="string">/data/data.db</span></span><br><span class="line"></span><br><span class="line"><span class="attr">ui:</span></span><br><span class="line"> <span class="attr">buttons:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">&quot;Home&quot;</span></span><br><span class="line"> <span class="attr">link:</span> <span class="string">&quot;https://www.imsun.org&quot;</span></span><br><span class="line"></span><br><span class="line"><span class="attr">endpoints:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">bloghb</span></span><br><span class="line"> <span class="attr">group:</span> <span class="string">core</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">&quot;https://blog.hb.cn&quot;</span></span><br><span class="line"> <span class="attr">interval:</span> <span class="string">3m</span></span><br><span class="line"> <span class="attr">conditions:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">&quot;[STATUS] == 200&quot;</span></span><br><span class="line"></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">blogcn</span></span><br><span class="line"> <span class="attr">group:</span> <span class="string">core</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">&quot;https://blog.asbid.cn&quot;</span></span><br><span class="line"> <span class="attr">interval:</span> <span class="string">3m</span></span><br><span class="line"> <span class="attr">conditions:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">&quot;[STATUS] == 200&quot;</span></span><br><span class="line"></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">blogsd</span></span><br><span class="line"> <span class="attr">group:</span> <span class="string">core</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">&quot;https://blog.sd.cn&quot;</span></span><br><span class="line"> <span class="attr">interval:</span> <span class="string">3m</span></span><br><span class="line"> <span class="attr">conditions:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">&quot;[STATUS] == 200&quot;</span></span><br></pre></td></tr></table></figure>
<p>点击<code>SAVE</code>保存 </p>
<p><img src= "/img/loading.gif" data-src="https://www.imsun.org/usr/uploads/2024/01/20240112081537297595.webp"></p>
<p>点击<code>Deploy</code>. </p>
<p>完成部署 别忘记在DNS处解析域名</p>
<h3 id="gatus演示"><a href="#gatus演示" class="headerlink" title="gatus演示"></a>gatus演示</h3><p><a target="_blank" rel="noopener" href="https://status.0tz.top/">https://status.0tz.top/</a></p>
<h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>优势:不用折腾反代,不用担心证书到期,常用应用傻瓜式部署</p>
</div>
<div class="post-copyright">
<div class="copyright-item">
<span> 作者: 浪子</span>
</div>
<div class="copyright-item">
<span> 链接: <a href="https://blog.jkjoy.cn/posts/b5a1f33a.html">https://blog.jkjoy.cn/posts/b5a1f33a.html</a></span>
</div>
<div class="copyright-item">
<span> 声明: 本博客所有文章除特别声明外,均采用许可协议 <a target="_blank" rel="noopener" href="http://creativecommons.org/licenses/by-nc/4.0/">CC-BY-NC-4.0</a> 转载请注明出处!</span>
</div>
</div>
</div>
<div class="share-reward">
<div class="share">
<div class="social-share" data-sites="wechat,weibo,qq"></div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/social-share.js/dist/css/share.min.css">
<script src="https://cdn.jsdelivr.net/npm/social-share.js/dist/js/social-share.min.js"></script>
</div>
<div class="reward">
<div style="padding: 10px 0; margin-left: 20px; width: 90%; text-align: center;">
<div class="reward-content">
<ul id="donateBox" class="list pos-a">
<li id="PayPal"><a href="https://paypal.me/jkjoy" target="_blank" title="贝宝">贝宝</a></li>
<li id="AliPay" title="支付宝"><img data-img="https://blogcdn.loliko.cn/ali.png" onerror=this.onerror=null,this.src="/img/loading.gif"></img></li>
<li id="WeChat" title="微信"><img date-img="https://blogcdn.loliko.cn/wx.png" onerror=this.onerror=null,this.src="/img/loading.gif"></img></li>
</ul>
<div id="QRBox" class="pos-f left-100">
<div id="MainBox"></div>
</div>
</div>
</div>
</div>
</div>
<div class="post_tags">
<i class="fas fa-tag"></i> <a href="/tags/VPS/" class="tag">VPS</a>
<i class="fas fa-tag"></i> <a href="/tags/Docker/" class="tag">Docker</a>
<i class="fas fa-tag"></i> <a href="/tags/EasyPanel/" class="tag">EasyPanel</a>
</div>
<div class="post-nav">
<div class="post-nav-next post-nav-item">
<a href="/posts/5f4f3026.html" >巨械师X99主板/E5 2680 V4/RX5600XT 6G/1TB SSD/BCM94360CS[OpenCore引导]<i class="fa fa-chevron-right"></i></a>
</div>
</div>
<h3><i class="far fa-comment"></i> 评论</h3>
<div id="tcomment"></div>
<script src="/js/twikoo.all.min.js"></script>
<script>
twikoo.init({
envId: 'https://t.jkjoy.cn',
el: '#tcomment',
})
</script>
</article>
<a id="gotop" href="javascript:" title="返回顶部"><i class="fa fa-arrow-up"></i></a>
<div id="bottom-outer">
<div id="bottom-inner">
© 2020 <i class="fa fa-heart" id="heart"></i> 浪子
<br>
Powered by
<a target="_blank" rel="noopener" href="http://hexo.io">hexo</a> | Theme is <a target="_blank" rel="noopener" href="https://github.com/a2396837/hexo-theme-blank/">blank</a>
<div class="icp-info">
<a href="" target="_blank"> </a>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/layui-src@2.5.5/dist/layui.min.js"></script>
<script src="/js/script.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js"></script>
<script>
window.lazyLoadOptions = {
elements_selector: 'img',
threshold: 0
}
</script>
<script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script>
<script>
var images = $('img').not('.nav-logo img').not('.card img').not($('a>img')).not('.reward-content img')
images.each(function (i, o) {
var lazyloadSrc = $(o).attr('data-src') ? $(o).attr('data-src') : $(o).attr('src')
$(o).wrap(`<a href="${lazyloadSrc}" data-fancybox="group" data-caption="${$(o).attr('alt')}" class="fancybox"></a>`)
})
</script>
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js"></script>
<script>
$().fancybox({
selector: '[data-fancybox]',
loop: true,
transitionEffect: 'slide',
protect: true,
buttons: ['slideShow', 'fullScreen', 'thumbs', 'close']
})
</script>
<script>
jQuery(document).ready(function () {
var QRBox = $('#QRBox');
var MainBox = $('#MainBox');
var AliPayQR = 'https://blogcdn.loliko.cn/ali.png';
var WeChanQR = 'https://blogcdn.loliko.cn/wx.png';
function showQR(QR) {
if (QR) {
MainBox.css('background-image', 'url(' + QR + ')');
}
$('#donateBox').addClass('blur');
QRBox.fadeIn(300, function (argument) {
MainBox.addClass('showQR');
});
}
$('#donateBox>li').click(function (event) {
var thisID = $(this).attr('id');
if (thisID === 'AliPay') {
showQR(AliPayQR);
} else if (thisID === 'WeChat') {
showQR(WeChanQR);
}
});
MainBox.click(function (event) {
MainBox.removeClass('showQR').addClass('hideQR');
setTimeout(function (a) {
QRBox.fadeOut(300, function (argument) {
MainBox.removeClass('hideQR');
});
$('#DonateText,#donateBox,#github').removeClass('blur');
}, 600);
});
});
</script>
<script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module" defer></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.4/dist/clipboard.min.js"></script>
<script>
!function (e, t, a) {
var initCopyCode = function(){
var copyHtml = '';
copyHtml += '<button class="btn-copy" data-clipboard-snippet="">';
copyHtml += ' <i class="fa fa-clipboard"></i><span>复制</span>';
copyHtml += '</button>';
$(".highlight .code pre").before(copyHtml);
new ClipboardJS('.btn-copy', {
target: function(trigger) {
return trigger.nextElementSibling;
}
});
}
initCopyCode();
}(window, document);
</script>
<script>
var btntop = $('#gotop');
btntop.on('click', function (e) {
e.preventDefault();
$('html, body').animate({ scrollTop: 0 }, '300');
});
var $table = $('.content table').not($('figure.highlight > table'))
$table.each(function () {
$(this).wrap('<div class="table-wrap"></div>')
})
</script>
</html>