<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://selfhost.vip/feed.xml" rel="self" type="application/atom+xml" /><link href="https://selfhost.vip/" rel="alternate" type="text/html" /><updated>2025-06-11T03:14:55-07:00</updated><id>https://selfhost.vip/feed.xml</id><title type="html">Self Host</title><subtitle>Self Host</subtitle><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><entry><title type="html">n8n私有化部署指南</title><link href="https://selfhost.vip/posts/2025/06/n8n/" rel="alternate" type="text/html" title="n8n私有化部署指南" /><published>2025-06-11T01:00:00-07:00</published><updated>2025-06-11T01:00:00-07:00</updated><id>https://selfhost.vip/posts/2025/06/n8n</id><content type="html" xml:base="https://selfhost.vip/posts/2025/06/n8n/"><![CDATA[<h2 id="n8n-介绍">n8n 介绍</h2>

<p>n8n 是一个开源、强大、可扩展的自动化工具，用于创建跨服务工作流，自动完成重复性任务。它具备高度灵活性，适合开发者和非技术人员使用。</p>

<h2 id="-为什么推荐使用-n8n">🌟 为什么推荐使用 n8n？</h2>

<table>
  <thead>
    <tr>
      <th>特性</th>
      <th>描述</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>开源免费</strong></td>
      <td>可本地部署，不依赖第三方平台，控制权在自己手里</td>
    </tr>
    <tr>
      <td><strong>支持丰富集成</strong></td>
      <td>内置 400+ 节点，支持 Telegram、Notion、GitHub、MySQL、REST API 等</td>
    </tr>
    <tr>
      <td><strong>支持逻辑控制</strong></td>
      <td>支持 IF 条件、循环（Loops）、并发、等待（Wait）等复杂逻辑</td>
    </tr>
    <tr>
      <td><strong>支持自定义代码</strong></td>
      <td>可使用 JavaScript 编写自定义函数与流程</td>
    </tr>
    <tr>
      <td><strong>私有部署</strong></td>
      <td>可部署在 VPS、本地服务器、树莓派、Docker 容器等</td>
    </tr>
  </tbody>
</table>

<h2 id="-n8n-自部署方式">📦 n8n 自部署方式</h2>

<p>推荐使用 Docker 快速部署，简单、安全、跨平台。</p>

<h3 id="-创建挂载数据卷">📁 创建挂载数据卷</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker volume create n8n_data
</code></pre></div></div>

<h3 id="-运行容器基础版">🐳 运行容器（基础版）</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run <span class="nt">-it</span> <span class="nt">--rm</span> <span class="se">\</span>
  <span class="nt">-p</span> 5678:5678 <span class="se">\</span>
  <span class="nt">-v</span> n8n_data:/home/node/.n8n <span class="se">\</span>
  n8nio/n8n
</code></pre></div></div>

<p>该命令将在本地端口 <code class="language-plaintext highlighter-rouge">5678</code> 运行 n8n。</p>

<h2 id="-使用-caddy-配置-https-域名访问推荐">🌐 使用 Caddy 配置 HTTPS 域名访问（推荐）</h2>

<p>如果你有域名，推荐用 Caddy 作为反向代理，自动生成 HTTPS 证书。</p>

<h3 id="示例n8nexamplecom">示例：<code class="language-plaintext highlighter-rouge">n8n.example.com</code></h3>

<pre><code class="language-caddyfile">n8n.example.com {
    reverse_proxy localhost:5678
}
</code></pre>

<p>然后运行 Caddy：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>caddy run <span class="nt">--config</span> /path/to/Caddyfile
</code></pre></div></div>

<blockquote>
  <p>🔐 Caddy 会自动申请 Let’s Encrypt 证书，无需手动配置。</p>
</blockquote>

<h2 id="️-docker-compose-自部署示例含-caddy">⚙️ Docker Compose 自部署示例（含 Caddy）</h2>

<h3 id="docker-composeyml"><code class="language-plaintext highlighter-rouge">docker-compose.yml</code></h3>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">version</span><span class="pi">:</span> <span class="s1">'</span><span class="s">3.7'</span>
<span class="na">services</span><span class="pi">:</span>
  <span class="na">n8n</span><span class="pi">:</span>
    <span class="na">image</span><span class="pi">:</span> <span class="s">n8nio/n8n</span>
    <span class="na">restart</span><span class="pi">:</span> <span class="s">always</span>
    <span class="na">environment</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">N8N_HOST=n8n.example.com</span>
      <span class="pi">-</span> <span class="s">WEBHOOK_URL=https://n8n.example.com/</span>
      <span class="pi">-</span> <span class="s">N8N_PORT=5678</span>
    <span class="na">volumes</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">n8n_data:/home/node/.n8n</span>
    <span class="na">expose</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s1">'</span><span class="s">5678'</span>

  <span class="na">caddy</span><span class="pi">:</span>
    <span class="na">image</span><span class="pi">:</span> <span class="s">caddy:latest</span>
    <span class="na">restart</span><span class="pi">:</span> <span class="s">always</span>
    <span class="na">ports</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s1">'</span><span class="s">80:80'</span>
      <span class="pi">-</span> <span class="s1">'</span><span class="s">443:443'</span>
    <span class="na">volumes</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">./Caddyfile:/etc/caddy/Caddyfile</span>
      <span class="pi">-</span> <span class="s">caddy_data:/data</span>
      <span class="pi">-</span> <span class="s">caddy_config:/config</span>

<span class="na">volumes</span><span class="pi">:</span>
  <span class="na">n8n_data</span><span class="pi">:</span>
  <span class="na">caddy_data</span><span class="pi">:</span>
  <span class="na">caddy_config</span><span class="pi">:</span>
</code></pre></div></div>

<h2 id="️-n8n-常见用途场景">🛠️ n8n 常见用途场景</h2>

<ul>
  <li><strong>聊天机器人集成</strong>：自动回复、推送通知（如 Telegram）</li>
  <li><strong>文件处理自动化</strong>：自动下载、转换、上传、归档</li>
  <li><strong>API 聚合/桥接</strong>：将多个系统统一成一个入口</li>
  <li><strong>数据库监控与处理</strong>：定时任务、数据迁移、告警系统</li>
  <li><strong>定时自动任务</strong>：定期抓取数据并生成报告</li>
</ul>

<h2 id="-常用节点推荐">📚 常用节点推荐</h2>

<table>
  <thead>
    <tr>
      <th>节点类型</th>
      <th>用途示例</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>HTTP Request</td>
      <td>请求第三方 API</td>
    </tr>
    <tr>
      <td>Telegram</td>
      <td>消息/文件推送</td>
    </tr>
    <tr>
      <td>Webhook</td>
      <td>接收外部事件触发</td>
    </tr>
    <tr>
      <td>Function</td>
      <td>逻辑控制 / 数据处理</td>
    </tr>
    <tr>
      <td>Write Binary File</td>
      <td>写入本地文件</td>
    </tr>
    <tr>
      <td>Email</td>
      <td>自动发送邮件</td>
    </tr>
  </tbody>
</table>

<h2 id="-安全与备份建议">🔒 安全与备份建议</h2>

<ul>
  <li>使用 <code class="language-plaintext highlighter-rouge">.env</code> 文件集中管理密钥和 token</li>
  <li>使用 Docker volume 挂载数据，避免数据丢失</li>
  <li>定期备份 n8n 配置和数据库</li>
  <li>限制外部访问端口，使用 HTTPS 和防火墙</li>
</ul>

<h2 id="-总结">✅ 总结</h2>

<p>n8n 是构建自动化流程的强大工具，具备可扩展性、灵活性和开放性。相比 Zapier、Make 等 SaaS 工具，它适合需要更强控制权、自托管需求、数据隐私保障的用户。</p>

<p><strong>推荐人群：</strong></p>

<ul>
  <li>开发者</li>
  <li>自动化爱好者</li>
  <li>运维人员</li>
  <li>企业内数据与系统集成团队</li>
</ul>

<h2 id="-相关链接">🔗 相关链接</h2>

<ul>
  <li>官网：<a href="https://n8n.io">https://n8n.io</a></li>
  <li>GitHub：<a href="https://github.com/n8n-io/n8n">https://github.com/n8n-io/n8n</a></li>
  <li>节点文档：<a href="https://docs.n8n.io">https://docs.n8n.io</a></li>
  <li>中文社区（非官方）：<a href="https://n8n.cn">https://n8n.cn</a> (如有)</li>
</ul>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="n8n" /><summary type="html"><![CDATA[n8n 是一个开源、强大、可扩展的自动化工具，用于创建跨服务工作流，自动完成重复性任务。它具备高度灵活性，适合开发者和非技术人员使用。]]></summary></entry><entry><title type="html">Appflowy自建服务</title><link href="https://selfhost.vip/posts/2024/02/appflowy/" rel="alternate" type="text/html" title="Appflowy自建服务" /><published>2025-01-23T00:00:00-08:00</published><updated>2025-01-23T00:00:00-08:00</updated><id>https://selfhost.vip/posts/2024/02/appflowy</id><content type="html" xml:base="https://selfhost.vip/posts/2024/02/appflowy/"><![CDATA[<p><img src="https://i.imgur.com/hxPTQl7.png" alt="" /></p>

<h2 id="appflowy-介绍">Appflowy 介绍</h2>

<p>Appflowy 是一个开源的笔记管理和知识管理工具。它可以帮助用户构建自己的第二大脑,实现笔记和知识的有效管理。</p>

<h3 id="appflowy-的主要功能">Appflowy 的主要功能</h3>

<ul>
  <li>支持无限层级的笔记组织结构</li>
  <li>强大的笔记内搜索功能</li>
  <li>支持 Markdown 语法编辑笔记</li>
  <li>支持笔记标签、引用和关系连接</li>
  <li>提供 Web、Desktop 和移动 App 版本</li>
  <li>支持团队协作和知识共享</li>
</ul>

<h3 id="appflowy-的优点">Appflowy 的优点</h3>

<ul>
  <li>开源免费,没有锁定风险</li>
  <li>功能强大,可以完全自定义笔记系统</li>
  <li>支持多平台,可以随时随地访问笔记</li>
  <li>支持 Markdown,编辑和导出笔记方便</li>
  <li>有 attachments、关系和回链功能,知识网络化管理</li>
</ul>

<h2 id="appflowy-安装步骤">Appflowy 安装步骤</h2>

<h3 id="步骤一-下载-appflowy">步骤一: 下载 Appflowy</h3>

<p>你可以在 Appflowy 的官网 <a href="https://www.appflowy.io/">https://www.appflowy.io</a> 下载适用于你的操作系统的 Appflowy 应用。</p>

<p>它支持 Windows、Mac、Linux、iOS 和 Android 多个平台。</p>

<h3 id="步骤二-安装-appflowy">步骤二: 安装 Appflowy</h3>

<p>对于桌面版本,直接运行下载的安装文件,按照提示完成安装。</p>

<p>移动版本可以直接安装到手机上。</p>

<h3 id="步骤三-运行-appflowy">步骤三: 运行 Appflowy</h3>

<p>安装完成后,启动 Appflowy,它会让你登录或注册一个新账户。</p>

<h3 id="步骤四-使用-appflowy">步骤四: 使用 Appflowy</h3>

<p>登录成功后,你可以开始使用 Appflowy 创建笔记和知识库,整理你的第二大脑。</p>

<p>基本的使用方法可参考 Appflowy 的官方使用文档。</p>

<p><strong>接下来最重要的来了，我们希望自己笔记的隐私性，希望自己存贮到自己的服务上，那我们就来自建服务端吧</strong></p>

<h2 id="自建-appflowy-服务端">自建 Appflowy 服务端</h2>

<p><img src="https://i.imgur.com/m2uW9Jx.png" alt="" /></p>

<h2 id="准备环境">准备环境</h2>

<ul>
  <li>推荐 64 位 Linux 服务器,推荐至少 2 核 4G</li>
  <li>Docker &amp; docker-compose <a href="https://selfhost.vip/ghost/docker">Docker 安装指南</a></li>
</ul>

<h3 id="获取-appflowy-源码">获取 Appflowy 源码</h3>

<h3 id="下载代码">下载代码</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud
</code></pre></div></div>

<h3 id="配置和运行">配置和运行</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>AppFlowy-Cloud
<span class="nb">cp </span>deploy.env .env
</code></pre></div></div>

<p>编辑 <code class="language-plaintext highlighter-rouge">.env</code> 文件,修改相关配置,如数据库连接等。
必须要做的时将 http://your-host 替换为你自己的域名。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano .env <span class="c">#编辑.env</span>
</code></pre></div></div>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 修改FQDN</span>
<span class="nv">FQDN</span><span class="o">=</span>你的IP或域名
</code></pre></div></div>

<h3 id="第三方登录指引-link">第三方登录指引 <a href="https://github.com/AppFlowy-IO/AppFlowy-Cloud/blob/main/doc/AUTHENTICATION.md">Link</a></h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">GOTRUE_EXTERNAL_GOOGLE_ENABLED</span><span class="o">=</span><span class="nb">true
</span><span class="nv">GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID</span><span class="o">=</span>your-google-client-id
<span class="nv">GOTRUE_EXTERNAL_GOOGLE_SECRET</span><span class="o">=</span>your-google-client-id
<span class="nv">GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI</span><span class="o">=</span>http://your-host/gotrue/callback

<span class="c"># GitHub OAuth2</span>
<span class="nv">GOTRUE_EXTERNAL_GITHUB_ENABLED</span><span class="o">=</span><span class="nb">true
</span><span class="nv">GOTRUE_EXTERNAL_GITHUB_CLIENT_ID</span><span class="o">=</span>your-github-client-id
<span class="nv">GOTRUE_EXTERNAL_GITHUB_SECRET</span><span class="o">=</span>your-github-secret
<span class="nv">GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI</span><span class="o">=</span>http://your-host/gotrue/callback

<span class="c"># Discord OAuth2</span>
<span class="nv">GOTRUE_EXTERNAL_DISCORD_ENABLED</span><span class="o">=</span><span class="nb">true
</span><span class="nv">GOTRUE_EXTERNAL_DISCORD_CLIENT_ID</span><span class="o">=</span>your-discord-client-id
<span class="nv">GOTRUE_EXTERNAL_DISCORD_SECRET</span><span class="o">=</span>your-discord-secret
<span class="nv">GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI</span><span class="o">=</span>http://your-host/gotrue/callback
</code></pre></div></div>

<h3 id="端口确认">端口确认</h3>

<p>默认会占用机器的 80 和 443 端口，如果你当前电脑的这两个端口已经被占用，则需要修改 .env 中 NGINX_PORT 和 NGINX_TLS_PORT 的值。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#原值</span>
<span class="nv">NGINX_PORT</span><span class="o">=</span>80
<span class="nv">NGINX_TLS_PORT</span><span class="o">=</span>443

<span class="c"># 修改为8080和8443</span>
<span class="nv">NGINX_PORT</span><span class="o">=</span>8080
<span class="nv">NGINX_TLS_PORT</span><span class="o">=</span>8443
<span class="c"># 修改后，就会占用的是你电脑的8080和8443端口了。</span>
</code></pre></div></div>

<h3 id="启动服务">启动服务</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker compose up <span class="nt">-d</span>
<span class="c">#或者</span>
docker-compose up <span class="nt">-d</span>
<span class="c">#或者</span>
<span class="nb">sudo </span>docker compose up <span class="nt">-d</span>
<span class="c">#或者</span>
<span class="nb">sudo </span>docker-compose up <span class="nt">-d</span>
</code></pre></div></div>

<h3 id="验证是否启动成功">验证是否启动成功</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker ps <span class="nt">-a</span>
<span class="c">#或者</span>
<span class="nb">sudo </span>docker ps <span class="nt">-a</span>
</code></pre></div></div>

<h3 id="域名及外网访问"><a href="https://selfhost.vip/ghost/network">域名及外网访问</a></h3>

<h3 id="app-端配置自建服务的链接"><a href="https://docs.appflowy.io/docs/guides/appflowy/self-hosting-appflowy">App 端配置自建服务的链接</a></h3>

<h3 id="openai-配置"><a href="https://docs.appflowy.io/docs/appflowy/product/appflowy-x-openai">OpenAI 配置</a></h3>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="note" /><summary type="html"><![CDATA[Appflowy 是一个开源的笔记管理和知识管理工具。它可以帮助用户构建自己的第二大脑,实现笔记和知识的有效管理。考虑到笔记的隐私性，希望自己存贮到自己的服务上，那我们就来自建服务端吧]]></summary></entry><entry><title type="html">部署自己的博客系统-Ghost</title><link href="https://selfhost.vip/posts/2024/05/ghost/" rel="alternate" type="text/html" title="部署自己的博客系统-Ghost" /><published>2024-05-24T01:00:00-07:00</published><updated>2024-05-24T01:00:00-07:00</updated><id>https://selfhost.vip/posts/2024/05/ghost</id><content type="html" xml:base="https://selfhost.vip/posts/2024/05/ghost/"><![CDATA[<h2 id="ghost-介绍">Ghost 介绍</h2>

<p>Ghost 是一个开源的博客平台，它提供了一个简洁、现代的用户界面，使得创建和管理博客变得更加容易。Ghost 基于 Node.js 构建，支持 Markdown 编辑器，并提供了丰富的主题和插件生态系统。</p>

<table>
  <thead>
    <tr>
      <th> </th>
      <th>Ghost</th>
      <th>Open platforms</th>
      <th>Closed platforms</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>🏎 Exceptionally fast</td>
      <td>✅</td>
      <td>❌</td>
      <td>✅</td>
    </tr>
    <tr>
      <td>🔒 Reliably secure</td>
      <td>✅</td>
      <td>❌</td>
      <td>✅</td>
    </tr>
    <tr>
      <td>🎨 Great design</td>
      <td>✅</td>
      <td>❌</td>
      <td>✅</td>
    </tr>
    <tr>
      <td>👩🏼‍🚀 Modern technology</td>
      <td>✅</td>
      <td>❌</td>
      <td>✅</td>
    </tr>
    <tr>
      <td>♻️ Open Source</td>
      <td>✅</td>
      <td>✅</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🏰 Own your brand+data</td>
      <td>✅</td>
      <td>✅</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🌍 Use a custom domain</td>
      <td>✅</td>
      <td>✅</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🖼 Control your site design</td>
      <td>✅</td>
      <td>✅</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🌱 Censorship-free</td>
      <td>✅</td>
      <td>✅</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>⭐️ Built-in SEO control</td>
      <td>✅</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🚀 Native REST API</td>
      <td>✅</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🛠 Comprehensive SDK</td>
      <td>✅</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🛒 Built-in membership &amp; subscription <br />commerce features</td>
      <td>✅</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>🤝 Works with any front-end <br />or static site framework</td>
      <td>✅</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
    <tr>
      <td>❤️ Non-profit organisation with <br />a sustainable business model</td>
      <td>✅</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
  </tbody>
</table>

<h3 id="ghost-的主要特点">Ghost 的主要特点</h3>

<ol>
  <li>简洁的用户界面：Ghost 提供了一个直观、易于使用的管理面板，使得创建和编辑文章变得更加便捷。</li>
  <li>Markdown 编辑器：Ghost 内置了一个强大的 Markdown 编辑器，支持实时预览和语法高亮，使得写作体验更加流畅。</li>
  <li>灵活的主题和插件：Ghost 拥有丰富的主题和插件生态系统，可以轻松自定义博客的外观和功能。</li>
  <li>SEO 友好：Ghost 自动生成 SEO 友好的 URL 和元数据，有助于提高博客的搜索引擎排名。</li>
  <li>多用户支持：Ghost 支持多用户协作，可以为不同的用户分配不同的角色和权限。</li>
</ol>

<h2 id="docker-部署-ghost">Docker 部署 Ghost</h2>

<p>使用 Docker 可以快速、方便地部署 Ghost 博客。以下是使用 Docker 部署 Ghost 的步骤：</p>

<h3 id="环境准备">环境准备</h3>

<ul>
  <li>Docker：20.10 及以上版本  <a href="https://selfhost.vip/ghost/docker">Docker 安装指南</a></li>
  <li>Docker Compose：1.29 及以上版本</li>
  <li>外网访问: <a href="https://selfhost.vip/network">外网访问配置</a></li>
</ul>

<h3 id="部署步骤">部署步骤</h3>

<ol>
  <li>
    <p>拉取 Ghost 镜像：</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker pull ghost
</code></pre></div>    </div>
  </li>
  <li>
    <p>创建 Ghost 容器：</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run -d --name ghost -p 80:2368 -v /path/to/ghost/content:/var/lib/ghost/content ghost
</code></pre></div>    </div>

    <ul>
      <li><code class="language-plaintext highlighter-rouge">-d</code>：以后台模式运行容器</li>
      <li><code class="language-plaintext highlighter-rouge">--name</code>：指定容器名称</li>
      <li><code class="language-plaintext highlighter-rouge">-p</code>：将容器的 2368 端口映射到主机的 80 端口</li>
      <li><code class="language-plaintext highlighter-rouge">-v</code>：将主机的  <code class="language-plaintext highlighter-rouge">/path/to/ghost/content</code>  目录挂载到容器的  <code class="language-plaintext highlighter-rouge">/var/lib/ghost/content</code>  目录，用于持久化存储数据</li>
    </ul>
  </li>
  <li>访问 Ghost：
在浏览器中访问  <code class="language-plaintext highlighter-rouge">http://your-server-ip</code>，即可看到 Ghost 的初始化页面。</li>
  <li>配置 Ghost：
按照页面提示完成 Ghost 的初始化配置，设置管理员账号和基本信息。</li>
  <li>开始使用 Ghost：
完成配置后，即可开始使用 Ghost 创建和发布博客文章。</li>
</ol>

<h3 id="更新-ghost">更新 Ghost</h3>

<p>要更新 Ghost 到最新版本，可以按照以下步骤操作：</p>

<ol>
  <li>
    <p>停止并删除现有的 Ghost 容器：</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker stop ghost
docker rm ghost
</code></pre></div>    </div>
  </li>
  <li>
    <p>拉取最新的 Ghost 镜像：</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker pull ghost
</code></pre></div>    </div>
  </li>
  <li>
    <p>使用相同的命令重新创建 Ghost 容器：</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run -d --name ghost -p 80:2368 -v /path/to/ghost/content:/var/lib/ghost/content ghost
</code></pre></div>    </div>
  </li>
  <li>
    <p>Ghost 将以最新版本运行，并且之前的数据和配置都会保留。</p>
  </li>
</ol>

<p>以上是使用 Docker 部署 Ghost 博客的基本步骤。Docker 提供了一种简单、可移植的方式来运行 Ghost，使得部署和更新变得更加方便。</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="blog" /><summary type="html"><![CDATA[Ghost 是一个开源的博客平台，它提供了一个简洁、现代的用户界面，使得创建和管理博客变得更加容易。Ghost 基于 Node.js 构建，支持 Markdown 编辑器，并提供了丰富的主题和插件生态系统。]]></summary></entry><entry><title type="html">Notion 的开源替代 AFFiNE 简介及安装教程</title><link href="https://selfhost.vip/posts/2024/05/affine/" rel="alternate" type="text/html" title="Notion 的开源替代 AFFiNE 简介及安装教程" /><published>2024-05-17T01:00:00-07:00</published><updated>2024-05-17T01:00:00-07:00</updated><id>https://selfhost.vip/posts/2024/05/affine</id><content type="html" xml:base="https://selfhost.vip/posts/2024/05/affine/"><![CDATA[<h3 id="1-affine-是什么">1. AFFiNE 是什么</h3>

<p><img src="https://cdn.affine.pro/Github_hero_image1.png" alt="" /><br />
<a href="https://github.com/toeverything/AFFiNE">AFFiNE</a> 是一个开源的协同笔记和任务管理工具，致力于提升团队的协作效率。该项目结合了笔记、任务和白板等功能，旨在提供一个统一的平台来管理团队的日常工作。</p>

<p><img src="https://i.imgur.com/3Cv6Ds4.gif" alt="" /></p>

<p>AFFiNE 的主要特点包括：</p>

<ul>
  <li><strong>实时协作</strong>：支持多用户实时编辑和查看。</li>
  <li><strong>多功能集成</strong>：包括笔记、任务管理、白板等功能，满足不同场景的需求。</li>
  <li><strong>可自托管</strong>：用户可以选择将 AFFiNE 部署到自己的服务器上，保障数据隐私和安全。</li>
</ul>

<h3 id="2-安装教程">2. 安装教程</h3>

<p>下面将介绍如何在自己的服务器上自托管 AFFiNE。</p>

<h4 id="21-环境准备">2.1 环境准备</h4>

<p>在开始安装之前，确保你的服务器满足以下要求：</p>

<ul>
  <li>Docker：20.10 及以上版本 <a href="https://selfhost.vip/ghost/docker">Docker 安装指南</a></li>
  <li>Docker Compose：1.29 及以上版本</li>
</ul>

<h4 id="22-下载代码">2.2 下载代码</h4>

<p>首先，克隆 AFFiNE 的代码库到你的服务器上：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/toeverything/AFFiNE.git
</code></pre></div></div>

<h4 id="23-使用-docker-安装">2.3 使用 Docker 安装</h4>

<p>AFFiNE 提供了基于 Docker 的安装方式，这使得部署变得更加简单和快捷。</p>

<ol>
  <li>确保 Docker 和 Docker Compose 已正确安装和配置。</li>
  <li>
    <p>修改配置，打开 AFFiNE/.github/deployment/self-host/compose.yaml 文件，根据你电脑端口的实际占用情况修改端口号和账号邮箱。
<img src="https://i.imgur.com/oU1FyE0.png" alt="" /></p>
  </li>
  <li>在项目根目录下，运行以下命令以启动 AFFiNE：</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#1 进入目录</span>
<span class="nb">cd</span> ./.github/deployment/self-host/
<span class="c">#2 通过docker启动</span>
docker-compose up <span class="nt">-d</span>
或
docker compose up <span class="nt">-d</span>
</code></pre></div></div>

<p>该命令会拉取所需的 Docker 镜像并启动相关的服务。启动完成后，AFFiNE 应该可以通过 <code class="language-plaintext highlighter-rouge">http://your-server-ip:3010（你上面修改的端口）</code> 进行访问。</p>

<p>通过以上步骤，你应该能够顺利地在自己的服务器上部署并运行 AFFiNE。</p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="note" /><summary type="html"><![CDATA[AFFiNE 是一个开源的协同笔记和任务管理工具，致力于提升团队的协作效率。该项目结合了笔记、任务和白板等功能，旨在提供一个统一的平台来管理团队的日常工作。]]></summary></entry><entry><title type="html">搭建自己的AI助手-ollama部署指南</title><link href="https://selfhost.vip/posts/2024/02/ollama/" rel="alternate" type="text/html" title="搭建自己的AI助手-ollama部署指南" /><published>2024-02-08T00:00:00-08:00</published><updated>2024-02-08T00:00:00-08:00</updated><id>https://selfhost.vip/posts/2024/02/ollama</id><content type="html" xml:base="https://selfhost.vip/posts/2024/02/ollama/"><![CDATA[<h2 id="介绍">介绍</h2>

<p>ollama 可以帮助你在本地启动并运行大型语言模型，来搭建专属于你自己的 AI 助手。</p>

<table>
  <thead>
    <tr>
      <th>Model</th>
      <th>Parameters</th>
      <th>Size</th>
      <th>Download</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Llama 2</td>
      <td>7B</td>
      <td>3.8GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run llama2</code></td>
    </tr>
    <tr>
      <td>Mistral</td>
      <td>7B</td>
      <td>4.1GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run mistral</code></td>
    </tr>
    <tr>
      <td>Dolphin Phi</td>
      <td>2.7B</td>
      <td>1.6GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run dolphin-phi</code></td>
    </tr>
    <tr>
      <td>Phi-2</td>
      <td>2.7B</td>
      <td>1.7GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run phi</code></td>
    </tr>
    <tr>
      <td>Neural Chat</td>
      <td>7B</td>
      <td>4.1GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run neural-chat</code></td>
    </tr>
    <tr>
      <td>Starling</td>
      <td>7B</td>
      <td>4.1GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run starling-lm</code></td>
    </tr>
    <tr>
      <td>Code Llama</td>
      <td>7B</td>
      <td>3.8GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run codellama</code></td>
    </tr>
    <tr>
      <td>Llama 2 Uncensored</td>
      <td>7B</td>
      <td>3.8GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run llama2-uncensored</code></td>
    </tr>
    <tr>
      <td>Llama 2 13B</td>
      <td>13B</td>
      <td>7.3GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run llama2:13b</code></td>
    </tr>
    <tr>
      <td>Llama 2 70B</td>
      <td>70B</td>
      <td>39GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run llama2:70b</code></td>
    </tr>
    <tr>
      <td>Orca Mini</td>
      <td>3B</td>
      <td>1.9GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run orca-mini</code></td>
    </tr>
    <tr>
      <td>Vicuna</td>
      <td>7B</td>
      <td>3.8GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run vicuna</code></td>
    </tr>
    <tr>
      <td>LLaVA</td>
      <td>7B</td>
      <td>4.5GB</td>
      <td><code class="language-plaintext highlighter-rouge">ollama run llava</code></td>
    </tr>
  </tbody>
</table>

<blockquote>
  <p>注意：运行 7B 需要至少 8 GB 可用 RAM，13B 需要至少 16 GB 来运行 RAM，33B 需要至少 32 GB 来运行 RAM。</p>
</blockquote>

<h2 id="准备环境">准备环境</h2>

<ul>
  <li>macOS / Linux &amp; 至少 8GB 的 RAM</li>
  <li>Docker <a href="https://selfhost.vip/ghost/docker">Docker 安装指南</a></li>
</ul>

<blockquote>
  <p>目前暂不支持 Windows 直接安装</p>
</blockquote>

<h2 id="部署-ollama">部署 Ollama</h2>

<h3 id="安装">安装</h3>

<blockquote>
  <p>📢：Ollama 默认会占用 11434 端口</p>
</blockquote>

<h4 id="macos">macOS</h4>

<p>从 <a href="https://ollama.ai/download/Ollama-darwin.zip">下载链接</a> 下载安装即可</p>

<h4 id="linux">Linux</h4>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl https://ollama.ai/install.sh | sh
</code></pre></div></div>

<h4 id="docker">Docker</h4>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run <span class="nt">-d</span> <span class="nt">-v</span> ollama:/root/.ollama <span class="nt">-p</span> 11434:11434 <span class="nt">--name</span> ollama ollama/ollama
</code></pre></div></div>

<h3 id="下载模型文件">下载模型文件</h3>

<p>这里 <a href="https://ollama.ai/library">Link</a> 有可以使用的模型文件，你可以看下介绍，然后根据自己的电脑配置及需要下载不同的模型文件即可。
如下图所示，我是选择了 tinyllama 的模型文件。对于每个模型文件还有区分不同参数数量的模型细项，后面有对应的安装指令。
这里我选择使用 tinyllama 默认的选项，所以执行的如下命令。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ollama run tinyllama
</code></pre></div></div>

<p><img src="https://i.imgur.com/9f88DBM.png" alt="" /></p>

<p>安装完成后，会出现如下的提示：
<img src="https://i.imgur.com/oZig9bg.png" alt="" /><br />
此时在这里收入你的指令即可以使用了。如下所示（<em>因为的电脑性能还可以，所以响应速度还不错</em>）：</p>

<p><img src="https://i.imgur.com/Lcsevk2.gif" alt="" /></p>

<h3 id="web-界面安装-chatbot-ui">Web 界面安装 <a href="https://github.com/ivanfioravanti/chatbot-ollama">chatbot ui</a></h3>

<p>考虑到通过终端使用的不便利性，所以我们可以通过安装 chatbot ui 来使用我们的 AI。</p>

<p>效果如下图所示<br />
<img src="https://i.imgur.com/T4KAtBw.png" alt="" /></p>

<h4 id="安装步骤">安装步骤</h4>

<h5 id="1-确保已安装好-docker如果没有安装可以参考-docker-安装指南">1. 确保已安装好 Docker，如果没有安装可以参考 <a href="https://selfhost.vip/ghost/docker">Docker 安装指南</a></h5>

<h5 id="2-安装-chatbot-ui">2. 安装 Chatbot-ui</h5>

<p>在终端执行如下命令即可，会占用电脑的 3000 端口，也可以通过修改“:”前的 3000 修改为其他的端口。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run <span class="nt">-p</span> 3000:3000 ghcr.io/ivanfioravanti/chatbot-ollama:main
</code></pre></div></div>

<p>到出现如下内容，即可打开浏览器并输入<a href="http://127.0.0.1:3000">http://127.0.0.1:3000</a>使用了。
<img src="https://i.imgur.com/wo3HOVQ.png" alt="" /><br />
效果如下：
<img src="https://i.imgur.com/jOH2efe.gif" alt="" /></p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="AI" /><summary type="html"><![CDATA[ollama 可以帮助你在本地启动并运行大型语言模型，来搭建专属于你自己的 AI 助手。]]></summary></entry><entry><title type="html">域名及外网访问配置</title><link href="https://selfhost.vip/posts/2024/02/network/" rel="alternate" type="text/html" title="域名及外网访问配置" /><published>2024-02-03T00:00:00-08:00</published><updated>2024-02-03T00:00:00-08:00</updated><id>https://selfhost.vip/posts/2024/02/network</id><content type="html" xml:base="https://selfhost.vip/posts/2024/02/network/"><![CDATA[<h3 id="我的网络拓扑">我的网络拓扑</h3>

<h4 id="方式一">方式一</h4>

<ul>
  <li>frp</li>
  <li>vps</li>
  <li>内网树莓派 + Nas</li>
</ul>

<h4 id="方式二">方式二</h4>

<ul>
  <li>公网非固定 IP</li>
  <li>Openwrt + DDNS</li>
  <li>内网树莓派 + Nas</li>
</ul>

<p><img src="https://i.imgur.com/6TsBIHN.png" alt="" /></p>

<h4 id="方式三">方式三</h4>

<ul>
  <li><a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/">Cloudflare tunnel</a>。</li>
  <li>内网树莓派 + Nas</li>
</ul>

<p><img src="https://i.imgur.com/Rjs0C72.png" alt="" /></p>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="network" /><summary type="html"><![CDATA[我的网络拓扑]]></summary></entry><entry><title type="html">Docker安装指南</title><link href="https://selfhost.vip/posts/2024/02/docker/" rel="alternate" type="text/html" title="Docker安装指南" /><published>2024-02-02T00:00:00-08:00</published><updated>2024-02-02T00:00:00-08:00</updated><id>https://selfhost.vip/posts/2024/02/docker</id><content type="html" xml:base="https://selfhost.vip/posts/2024/02/docker/"><![CDATA[<p>Docker 将作为我们后续搭建服务的容器，所以这里就先为大家介绍主要几个平台上 Docker 的安装方式，主要包括了 Macos、Windows、Linux（Ubuntu、Debian、CentOS）几个主要系统平台。</p>

<h2 id="安装">安装</h2>

<h3 id="mac">Mac</h3>

<blockquote>
  <p>因为 Mac 系统下 Docker Desktop 超过 1G，并且启动后占用资源很大，所以这里我们就选择它的替代软件 OrbStack。</p>
</blockquote>

<ol>
  <li>下载 OrbStack，下载链接 https://orbstack.dev/download</li>
  <li>双击打开下载的 OrbStack.dmg 文件，并将 OrbStack 拖到 Application 中。</li>
  <li>到 Application 中双击打开 OrbStack，然后点击 Next，然后选择 Docker，然后收入电脑密码授权即可。</li>
</ol>

<h3 id="windows">Windows</h3>

<ol>
  <li>打开浏览器，访问 Docker 官方网站 https://www.docker.com/get-started</li>
  <li>点击下载 Docker Desktop for Windows。</li>
  <li>打开下载的安装包，并按照提示完成安装。</li>
  <li>完成安装后，在开始菜单中找到 Docker 图标并点击打开。</li>
  <li>在系统托盘中找到 Docker 图标，右键单击并选择 Settings。</li>
  <li>在 Settings 中，选择 Shared Drives 并选择您想要共享的驱动器。</li>
  <li>完成配置后，重启 Docker Desktop。</li>
  <li>打开 PowerShell 或 CMD，运行 docker –version 命令以验证安装是否成功。</li>
</ol>

<h3 id="linux">Linux</h3>

<h4 id="ubuntu">Ubuntu</h4>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#执行以下命令删除可能与Docker冲突的包</span>
<span class="k">for </span>pkg <span class="k">in </span>docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc<span class="p">;</span> <span class="k">do </span><span class="nb">sudo </span>apt-get remove <span class="nv">$pkg</span><span class="p">;</span> <span class="k">done</span>

<span class="c"># 添加Docker官方的 GPG key:</span>
<span class="nb">sudo </span>apt-get update

<span class="nb">sudo </span>apt-get <span class="nb">install </span>ca-certificates curl

<span class="nb">sudo install</span> <span class="nt">-m</span> 0755 <span class="nt">-d</span> /etc/apt/keyrings

<span class="nb">sudo </span>curl <span class="nt">-fsSL</span> https://download.docker.com/linux/ubuntu/gpg <span class="nt">-o</span> /etc/apt/keyrings/docker.asc

<span class="nb">sudo chmod </span>a+r /etc/apt/keyrings/docker.asc

<span class="c"># 添加APT源:</span>
<span class="nb">echo</span> <span class="se">\</span>
  <span class="s2">"deb [arch=</span><span class="si">$(</span>dpkg <span class="nt">--print-architecture</span><span class="si">)</span><span class="s2"> signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu </span><span class="se">\</span><span class="s2">
  </span><span class="si">$(</span><span class="nb">.</span> /etc/os-release <span class="o">&amp;&amp;</span> <span class="nb">echo</span> <span class="s2">"</span><span class="nv">$VERSION_CODENAME</span><span class="s2">"</span><span class="si">)</span><span class="s2"> stable"</span> | <span class="se">\</span>
  <span class="nb">sudo tee</span> /etc/apt/sources.list.d/docker.list <span class="o">&gt;</span> /dev/null

<span class="nb">sudo </span>apt-get update

<span class="c">#安装最新版本的Docker</span>
<span class="nb">sudo </span>apt-get <span class="nb">install </span>docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

<span class="c">#验证Docker是否安装成功</span>
<span class="nb">sudo </span>docker run hello-world
</code></pre></div></div>

<h4 id="debian">Debian</h4>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 添加Docker官方的 GPG key:</span>
<span class="nb">sudo </span>apt-get update

<span class="nb">sudo </span>apt-get <span class="nb">install </span>ca-certificates curl

<span class="nb">sudo install</span> <span class="nt">-m</span> 0755 <span class="nt">-d</span> /etc/apt/keyrings

<span class="nb">sudo </span>curl <span class="nt">-fsSL</span> https://download.docker.com/linux/debian/gpg <span class="nt">-o</span> /etc/apt/keyrings/docker.asc

<span class="nb">sudo chmod </span>a+r /etc/apt/keyrings/docker.asc

<span class="c"># 添加APT源:</span>
<span class="nb">echo</span> <span class="se">\</span>
  <span class="s2">"deb [arch=</span><span class="si">$(</span>dpkg <span class="nt">--print-architecture</span><span class="si">)</span><span class="s2"> signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian </span><span class="se">\</span><span class="s2">
  </span><span class="si">$(</span><span class="nb">.</span> /etc/os-release <span class="o">&amp;&amp;</span> <span class="nb">echo</span> <span class="s2">"</span><span class="nv">$VERSION_CODENAME</span><span class="s2">"</span><span class="si">)</span><span class="s2"> stable"</span> | <span class="se">\</span>
  <span class="nb">sudo tee</span> /etc/apt/sources.list.d/docker.list <span class="o">&gt;</span> /dev/null

<span class="nb">sudo </span>apt-get update

<span class="c">#安装最新版本的Docker</span>
 <span class="nb">sudo </span>apt-get <span class="nb">install </span>docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 <span class="c">#验证Docker是否安装成功</span>
<span class="nb">sudo </span>docker run hello-world
</code></pre></div></div>

<h4 id="centos">CentOS</h4>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#安装 yum-utils</span>
<span class="nb">sudo </span>yum <span class="nb">install</span> <span class="nt">-y</span> yum-utils

<span class="nb">sudo </span>yum-config-manager <span class="nt">--add-repo</span> https://download.docker.com/linux/centos/docker-ce.repo

<span class="c">#安装最新版本的Docker</span>
<span class="nb">sudo </span>yum <span class="nb">install </span>docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

<span class="c">#验证Docker是否安装成功</span>
<span class="nb">sudo </span>docker run hello-world
</code></pre></div></div>]]></content><author><name>{&quot;avatar&quot;=&gt;&quot;profile.webp&quot;, &quot;name&quot;=&gt;&quot;&quot;, &quot;pronouns&quot;=&gt;nil, &quot;bio&quot;=&gt;&quot;自建服务，简单指南，助您快速搭建！&quot;, &quot;location&quot;=&gt;&quot;China&quot;, &quot;employer&quot;=&gt;&quot;Self Host&quot;, &quot;uri&quot;=&gt;nil, &quot;email&quot;=&gt;&quot;clap@clap.top&quot;, &quot;arxiv&quot;=&gt;nil, &quot;googlescholar&quot;=&gt;nil, &quot;impactstory&quot;=&gt;nil, &quot;orcid&quot;=&gt;nil, &quot;semantic&quot;=&gt;nil, &quot;pubmed&quot;=&gt;nil, &quot;researchgate&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;clap-top&quot;, &quot;kaggle&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;bluesky&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;goodreads&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;mastodon&quot;=&gt;nil, &quot;medium&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;telegram&quot;=&gt;&quot;https://t.me/claptopc&quot;, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;nil, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;wikipedia&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;zhihu&quot;=&gt;nil}</name><email>clap@clap.top</email></author><category term="tools" /><category term="docker" /><summary type="html"><![CDATA[Docker 将作为我们后续搭建服务的容器，所以这里就先为大家介绍主要几个平台上 Docker 的安装方式，主要包括了 Macos、Windows、Linux（Ubuntu、Debian、CentOS）几个主要系统平台。]]></summary></entry></feed>