<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Blog - 标签 - Hotine的小窝</title>
        <link>//localhost:1313/tags/blog/</link>
        <description>Blog - 标签 - Hotine的小窝</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Wed, 29 Apr 2026 15:51:24 &#43;0800</lastBuildDate><atom:link href="//localhost:1313/tags/blog/" rel="self" type="application/rss+xml" /><item>
    <title>WIN系统用WSL的端口自动映射脚本</title>
    <link>//localhost:1313/win%E7%B3%BB%E7%BB%9F%E7%94%A8wsl%E7%9A%84%E7%AB%AF%E5%8F%A3%E6%98%A0%E5%B0%84%E8%84%9A%E6%9C%AC/</link>
    <pubDate>Wed, 29 Apr 2026 15:51:24 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/win%E7%B3%BB%E7%BB%9F%E7%94%A8wsl%E7%9A%84%E7%AB%AF%E5%8F%A3%E6%98%A0%E5%B0%84%E8%84%9A%E6%9C%AC/</guid>
    <description><![CDATA[<p>WIN系统通过WSL跑linux，如果需要把linux系统下某个端口给局域网的其他设备使用，是无法直接在防火墙放行端口，去访问的，因为WIN系统下的linux使用的是子网IP，并不是WIN系统的IP，因此需要两步走：</p>]]></description>
</item>
<item>
    <title>Docker宝库：go2rtc-视频转发网关</title>
    <link>//localhost:1313/docker%E5%AE%9D%E5%BA%93go2rtc-%E8%A7%86%E9%A2%91%E8%BD%AC%E5%8F%91%E7%BD%91%E5%85%B3/</link>
    <pubDate>Tue, 24 Mar 2026 16:03:32 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/docker%E5%AE%9D%E5%BA%93go2rtc-%E8%A7%86%E9%A2%91%E8%BD%AC%E5%8F%91%E7%BD%91%E5%85%B3/</guid>
    <description><![CDATA[<p><strong>go2rtc</strong> 是一个超强大的<strong>流媒体转发/转换网关</strong>。它的核心任务只有一件事：<strong>把各种乱七八糟协议的摄像头直播流，用最快、最省资源的方式，转发给你的浏览器、手机 App 或者 NVR 软件。</strong></p>]]></description>
</item>
<item>
    <title>Docker宝库：Homebox家庭资产登记应用</title>
    <link>//localhost:1313/docker%E5%AE%9D%E5%BA%93homebox%E5%AE%B6%E5%BA%AD%E8%B5%84%E4%BA%A7%E7%99%BB%E8%AE%B0%E5%BA%94%E7%94%A8/</link>
    <pubDate>Tue, 24 Mar 2026 15:33:48 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/docker%E5%AE%9D%E5%BA%93homebox%E5%AE%B6%E5%BA%AD%E8%B5%84%E4%BA%A7%E7%99%BB%E8%AE%B0%E5%BA%94%E7%94%A8/</guid>
    <description><![CDATA[<p>Homebox是一款轻量级的家庭资产管理应用。可以方便的创建房间、容器，并记录家庭中各种物资的位置、数量等等。</p>
<p>这样，只要做好登记，一些塞到犄角旮旯的小东西，时间久了也不会被遗忘了。</p>]]></description>
</item>
<item>
    <title>PM2-NodeJS进程守护程序</title>
    <link>//localhost:1313/pm2-nodejs%E8%BF%9B%E7%A8%8B%E5%AE%88%E6%8A%A4%E7%A8%8B%E5%BA%8F/</link>
    <pubDate>Tue, 24 Mar 2026 15:06:41 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/pm2-nodejs%E8%BF%9B%E7%A8%8B%E5%AE%88%E6%8A%A4%E7%A8%8B%E5%BA%8F/</guid>
    <description><![CDATA[<h2 id="1-pm2-是什么">1. PM2 是什么？</h2>
<p>PM2（Process Manager 2）是目前最主流的 Node.js 生产环境<strong>进程管理器</strong>。它自带负载均衡、日志管理、性能监控和热重载功能。</p>
<p>如果你只是用 <code>node app.js</code> 启动程序，一旦代码报错或者服务器重启，你的服务就直接挂了。PM2 的存在就是为了确保你的程序<strong>7x24 小时永不掉线</strong> 。</p>]]></description>
</item>
<item>
    <title>Docker宝库：Shinobi-监控录像NVR</title>
    <link>//localhost:1313/docker%E5%AE%9D%E5%BA%93shinobi-%E7%9B%91%E6%8E%A7%E5%BD%95%E5%83%8Fnvr/</link>
    <pubDate>Mon, 05 Jan 2026 22:20:40 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/docker%E5%AE%9D%E5%BA%93shinobi-%E7%9B%91%E6%8E%A7%E5%BD%95%E5%83%8Fnvr/</guid>
    <description><![CDATA[<p>Shinobi的特色就是简单、占用系统资源少，适合性能弱的机器。</p>
<p>dockers-compose文件如下：</p>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-yaml">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">services</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">shinobi</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l">shinobisystems/shinobi:latest</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l">shinobi</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l">unless-stopped</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">shm_size</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;256mb&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">ports</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="s2">&#34;18080:8080&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">volumes</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">CHANGE_TO_COMPOSE_DATA_PATH/shinobi/config:/config</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">/etc/TZ:/etc/TZ:ro</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">/etc/localtime:/etc/localtime:ro</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">/srv/dev-disk-by-uuid-5497e826-9020-4bf7-9d23-4d9ee3544eb8/camera:/home/Shinobi/videos</span><span class="w"> </span><span class="c"># 录像存储位置</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">environment</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">ADMIN_USER=admin@shinobi.video </span><span class="w"> </span><span class="c">#管理员账号</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">ADMIN_PASSWORD=youradminpassword </span><span class="w"> </span><span class="c">#管理员密码</span></span></span></code></pre></div></div>
<p>配置好以后，在浏览器输入http://IP:18080/super,使用管理员账号和密码登录，添加一个普通用户。</p>]]></description>
</item>
<item>
    <title>Docker宝库：MiCam-小米摄像头视频拉取</title>
    <link>//localhost:1313/docker%E5%AE%9D%E5%BA%93micam-%E5%B0%8F%E7%B1%B3%E6%91%84%E5%83%8F%E5%A4%B4%E8%A7%86%E9%A2%91%E6%8B%89%E5%8F%96/</link>
    <pubDate>Mon, 05 Jan 2026 22:19:48 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/docker%E5%AE%9D%E5%BA%93micam-%E5%B0%8F%E7%B1%B3%E6%91%84%E5%83%8F%E5%A4%B4%E8%A7%86%E9%A2%91%E6%8B%89%E5%8F%96/</guid>
    <description><![CDATA[<h2 id="前置条件">前置条件</h2>
<p>必须要安装Docker和DockerCompose</p>
<p>Debian安装流程：<a href="/posts/%e5%ae%89%e8%a3%85dockercompose" rel="">安装DockerCompose</a></p>
<h2 id="安装">安装</h2>
<p>分别执行以下每一行命令：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1">## 创建/opt/micam文件夹</span>
</span></span><span class="line"><span class="cl">mkdir /opt/micam
</span></span><span class="line"><span class="cl"><span class="c1">## 定位到/opt/micam文件夹</span>
</span></span><span class="line"><span class="cl"><span class="nb">cd</span> /opt/micam
</span></span><span class="line"><span class="cl"><span class="c1">## 下载 micam项目的docker compose文件</span>
</span></span><span class="line"><span class="cl">wget https://raw.githubusercontent.com/miiot/micam/refs/heads/main/docker-compose.yml
</span></span><span class="line"><span class="cl"><span class="c1">## 启动</span>
</span></span><span class="line"><span class="cl">docker compose up -d</span></span></code></pre></div></div>
<blockquote>
<p>此命令会通过docker部署Miloco、Go2rtc及RTSP转发服务。如果需要添加多个摄像头，需要编辑<code>docker-compose.yml</code>运行多个micam服务。</p>]]></description>
</item>
<item>
    <title>安装DockerCompose</title>
    <link>//localhost:1313/%E5%AE%89%E8%A3%85dockercompose/</link>
    <pubDate>Mon, 05 Jan 2026 22:18:07 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/%E5%AE%89%E8%A3%85dockercompose/</guid>
    <description><![CDATA[<p>用官方 APT 源安装（最简、可更新）</p>
<ol>
<li>准备依赖并导入 Docker 仓库（一次执行一条命令）</li>
</ol>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">apt update <span class="o">&amp;&amp;</span> apt -y install curl vim wget gnupg lsb-release ca-certificates apt-transport-https
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 导入 GPG 公钥</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://download.docker.com/linux/debian/gpg <span class="p">|</span> gpg --dearmor -o /usr/share/keyrings/docker-ce.gpg
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 写入仓库地址（Debian 12 示例，可替换 bookworm 为 bullseye 等）</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;deb [arch=</span><span class="k">$(</span>dpkg --print-architecture<span class="k">)</span><span class="s2"> signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian </span><span class="k">$(</span>lsb_release -cs<span class="k">)</span><span class="s2"> stable&#34;</span> <span class="p">|</span> tee /etc/apt/sources.list.d/docker.list
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">  <span class="sb">```</span>
</span></span><span class="line"><span class="cl">  
</span></span><span class="line"><span class="cl">2.  安装 Docker 及 Compose 插件（一次执行一条命令）
</span></span><span class="line"><span class="cl"><span class="sb">```</span>bash
</span></span><span class="line"><span class="cl">apt update
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">apt -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin</span></span></code></pre></div></div>
<ol start="3">
<li>验证</li>
</ol>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">docker --version          <span class="c1"># 查看 Docker</span>
</span></span><span class="line"><span class="cl">docker compose version    <span class="c1"># 查看 Compose V2（注意是“空格”不是连字符）</span></span></span></code></pre></div></div>
<p>能正常输出版本号即安装完成</p>]]></description>
</item>
<item>
    <title>Docker宝库：XiaoMusic-小爱音箱专属播放器</title>
    <link>//localhost:1313/docker%E5%AE%9D%E5%BA%93xiaomusic-%E5%B0%8F%E7%88%B1%E9%9F%B3%E7%AE%B1%E4%B8%93%E5%B1%9E%E6%92%AD%E6%94%BE%E5%99%A8/</link>
    <pubDate>Mon, 05 Jan 2026 22:15:15 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/docker%E5%AE%9D%E5%BA%93xiaomusic-%E5%B0%8F%E7%88%B1%E9%9F%B3%E7%AE%B1%E4%B8%93%E5%B1%9E%E6%92%AD%E6%94%BE%E5%99%A8/</guid>
    <description><![CDATA[<p>小爱音箱能播放音乐，但只能播放QQ音乐的内容，无法播放本地音乐或者QQ的会员音乐。</p>
<p>如果把小爱音箱开启蓝牙网关功能，则不能通过蓝牙连接手机播放音乐。</p>]]></description>
</item>
<item>
    <title>用OMV7系统搭建家用NAS</title>
    <link>//localhost:1313/%E5%AE%B6%E7%94%A8nas%E6%90%AD%E5%BB%BAomv7%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85/</link>
    <pubDate>Sun, 28 Dec 2025 20:00:00 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/%E5%AE%B6%E7%94%A8nas%E6%90%AD%E5%BB%BAomv7%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85/</guid>
    <description><![CDATA[<h2 id="前期准备">前期准备</h2>
<ol>
<li>首先从官网下载系统镜像<a href="https://www.openmediavault.org/download.html" target="_blank" rel="noopener noreffer ">https://www.openmediavault.org/download.html</a></li>
<li>通过balenaEtcher等类似的烧录软件，把下载好的系统镜像烧录到U盘。</li>
<li>给NAS主机插上显示器（可以是电脑显示器、电视机、或是视频采集卡连手机等），等装完系统后，就可以拔掉显示器了。</li>
<li>NAS主机插入U盘，开机，并在启动界面中按Del（也可能是F2或F8，不同主板不太一样）进入BIOS设置。</li>
<li>在BIOS中，UEFI/Legacy Boot这一项，设置成“Legacy Only”；Security Boot改为Disable。最后设置成U盘启动，进入安装引导。</li>
</ol>
<h2 id="安装系统">安装系统</h2>
<ol>
<li>在安装引导中，按提示安装系统即可（地区、键盘灯都选中国，语言选简体中文，镜像源选择中国的debian默认即可）。根据引导进行安装即可，最后系统会提示拔出安装介质，然后重启。（选择重启选项，不是手动按主机开关重启）</li>
<li>安装重启后在控制台会显示当前设备的IP地址，输入用户名密码（root/xxxxxxx）可以登录（这个也是今后SSH工具远程连接的用户名和密码，OMV系统中SSH功能默认是开启的，而且允许root登录）。也可以使用ip addr命令查看本机ip，比如说本机ip是192.168.1.999，这样就可以在同局域网的其他设备中通过：<code>http://192.168.X.X</code>访问nas的管理界面了。</li>
</ol>
<h2 id="系统基本设置">系统基本设置</h2>
<ol>
<li><strong>登录后台管理：</strong> 在局域网其他设备浏览器中输入nas的ip，例如：<code>http://192.168.X.X</code>，可进入OMV的管理界面，第一次登录，用户名和密码是admin/openmediavault。</li>
<li><strong>修改默认密码：</strong> 第一件事就是先修改管理界面的登录密码（这个密码和控制台的root密码是两码事）（管理页面右上角用户设置-更改密码）。然后进行一些初始设置。</li>
<li><strong>挂载硬盘：</strong> 如果需要挂载硬盘，可以先关闭NAS，连接硬盘后再启动NAS。
在<strong>管理页面</strong>&gt;<strong>存储器</strong>&gt;<strong>磁盘</strong> 中，可以看到当前已经连接的磁盘。
在<strong>管理页面</strong>&gt;<strong>存储器</strong>&gt;<strong>文件系统</strong> 中,点击“挂载现有文件系统”  或者“建立并挂载文件系统”。如果是前者，选择要添加的设备，点保存即可。之后页面上方会提示有待应用的配置更改，点击确认之后才会生效。添加移动硬盘（可能需要格式化），然后在“存储器-文件系统”中挂载该磁盘。</li>
<li><strong>添加共享文件夹和用户</strong> ：
创建用户：在左边菜单“用户-用户”中，点击添加，创建一个用户，例如：<code>user</code> 可以给家人用。只需设置名称和密码（如果是给TV设备用，建议密码简单一些，否则输入的时候麻烦）。
增加共享文件夹：然后在“存储器-共享文件夹”中，点击添加，按需添加需要共享的文件夹。名称谁便填，设备选移动硬盘，路径是指在移动硬盘中的位置，例如“/”，就代表共享整个移动硬盘。“/movies”就代表共享移动硬盘里的movies文件夹。之后刷新页面，重新进入“存储器-共享文件夹”中，选中刚才建立的文件夹，并点击上方的“权限” 按钮。对刚刚创建的用户，选择对应的权限。然后确认保存。</li>
<li><strong>开启共享协议：</strong> 在左边菜单“服务” 中,共享方式有CIFS、SMB、NFS，一般开启SMB就够了，例如开启SMB协议：
开启协议：进入<strong>服务</strong>&gt;<strong>SMB/CIFS</strong>&gt;<strong>设置</strong> 中，勾选最上方的“已启用” ,并保存。
共享文件夹：然后进入<strong>服务</strong>&gt;<strong>SMB/CIFS</strong>&gt;<strong>共享</strong> , 选择要共享的文件夹（只能选择上一步创建的共享文件夹）。保存并确认。
访问共享文件夹：在家里电脑上如果想访问该文件夹，则在“此电脑”上点右键，“映射网路驱动器&hellip;”输入(区分大小写)：<code>\\192.168.X.X\movies</code>，之后再输入之前创建的用户的名称和密码即可。</li>
<li><strong>设置系统代理</strong>：如果有V2ray等提供的http代理，可以在<strong>网络</strong> &gt;<strong>代理</strong> 中，勾选&quot;HTTP-代理&quot;和&quot;HTTPS-代理&quot;,并填入代理服务器地址和对应的端口号。</li>
</ol>
<h2 id="安装docker-compose">安装DOCKER COMPOSE</h2>
<h3 id="第一步安装-omv-extras">第一步：安装 OMV-Extras</h3>
<p><strong>方案1：</strong> 如果家里网络能连接到github的话，在控制台用root权限执行以下命令也可以：</p>]]></description>
</item>
<item>
    <title>Docker宝库：Vaultwarden密码管理器</title>
    <link>//localhost:1313/docker%E5%AE%9D%E5%BA%93vaultwarden%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86%E5%99%A8/</link>
    <pubDate>Tue, 23 Sep 2025 10:20:41 &#43;0800</pubDate>
    <author>Hotine</author>
    <guid>//localhost:1313/docker%E5%AE%9D%E5%BA%93vaultwarden%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86%E5%99%A8/</guid>
    <description><![CDATA[<p>Vaultwarden是一个密码管理器，包括个人保险库、TOTP/硬件密钥 2FA、密码生成与自动填充、附件与发送（安全一次性分享）、组织共享、目录遍历自动填表等，且全部免费。</p>]]></description>
</item>
</channel>
</rss>
