hexo/posts/b5a1f33a.html

579 lines
25 KiB
HTML

<!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.09"><i class="far fa-calendar-check"></i> 2024.05.09</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">
<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="https://cdn.staticfile.org/twikoo/1.6.32/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>
<div id="QPlayer">
<div id="pContent">
<div id="player">
<span class="cover"></span>
<div class="ctrl">
<div class="musicTag marquee">
<strong>Title</strong>
<span> - </span>
<span class="artist">Artist</span>
</div>
<div class="progress">
<div class="timer left">0:00</div>
<div class="contr">
<div class="rewind icon"></div>
<div class="playback icon"></div>
<div class="fastforward icon"></div>
</div>
<div class="right">
<div class="liebiao icon"></div>
</div>
</div>
</div>
</div>
<div class="ssBtn">
<div class="adf"><i class="fas fa-music" style="color: #Fff;"></i></div>
</div>
</div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/a2396837/CDN@latest/css/audio.css">
<ol id="playlist"></ol>
</div>
<script src="https://cdn.jsdelivr.net/npm/jquery.marquee@1.5.0/jquery.marquee.min.js"></script>
<script>
var playlist = [];
playlist.push({title:'我要开花',artist:'二手玫瑰',mp3:'https://xy07-1251893119.cos.ap-beijing-1.myqcloud.com/%E4%BA%8C%E6%89%8B%E7%8E%AB%E7%91%B0%20-%20%E6%88%91%E8%A6%81%E5%BC%80%E8%8A%B1.mp3',cover:'https://p1.music.126.net/DSTg1dR7yKsyGq4IK3NL8A==/109951163046050093.jpg'})
var isRotate = true;
var autoplay = false;
</script>
<script src="https://cdn.jsdelivr.net/gh/a2396837/CDN@latest/js/player.js"></script>
<script>
function bgChange(){
var lis= $('.lib');
for(var i=0; i<lis.length; i+=2)
lis[i].style.background = 'rgba(246, 246, 246, 0.5)';
}
window.onload = bgChange;
</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>