<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>部署 on 我的博客</title><link>https://blog.xialins.cn/tags/%E9%83%A8%E7%BD%B2/</link><description>Recent content in 部署 on 我的博客</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Wed, 17 Sep 2025 02:14:57 +0000</lastBuildDate><atom:link href="https://blog.xialins.cn/tags/%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>小雅一键懒人安装</title><link>https://blog.xialins.cn/posts/migrated/post-169/</link><pubDate>Wed, 17 Sep 2025 02:14:57 +0000</pubDate><guid>https://blog.xialins.cn/posts/migrated/post-169/</guid><description>&lt;h4 id="使用">使用&lt;/h4>
&lt;p>&lt;a href="https://github.com/DDS-Derek/xiaoya-alist">https://github.com/DDS-Derek/xiaoya-alist&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Plain" data-lang="Plain">&lt;span style="display:flex;">&lt;span>bash -c \&amp;#34;$(curl --insecure -fsSL https://ddsrem.com/xiaoya_install.sh)\&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>备用地址&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-Plain" data-lang="Plain">&lt;span style="display:flex;">&lt;span>bash &amp;lt;(curl --insecure -fsSL https://ddsrem.com/xiaoya/all_in_one.sh)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>阿里云盘TOKEN&lt;/p>
&lt;p>&lt;a href="https://alist.nn.ci/zh/guide/drivers/aliyundrive.html">https://alist.nn.ci/zh/guide/drivers/aliyundrive.html&lt;/a>&lt;/p>
&lt;p>9945b93afdde40a8b4658424cbea6635&lt;/p>
&lt;p>阿里云盘Open&lt;/p>
&lt;p>如果你的xiaoya放在公网，为了防止别人蹭网，可以设置强制登入，新增/etc/xiaoya/guestlogin.txt这个文件，重启即可，文件有没有内容无所谓，如果取消强制登入就删除这个文件。强制登入的账号为 dav，密码使用 /etc/xiaoya/guestpass.txt 里设置的，同时webdav连接使用 dav 这个用户上述2个功能设置好后需要重启docker才会生效。&lt;/p></description></item><item><title>frps安装Docker部署</title><link>https://blog.xialins.cn/posts/migrated/post-142/</link><pubDate>Sat, 13 Sep 2025 06:05:18 +0000</pubDate><guid>https://blog.xialins.cn/posts/migrated/post-142/</guid><description>&lt;h5 id="1-服务端配置">1. 服务端配置&lt;/h5>
&lt;ul>
&lt;li>
&lt;h6 id="docker-composeyml">docker-compose.yml&lt;/h6>
&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">frps&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">stilleshan&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frps&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">frps&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">network_mode&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">host&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">./&lt;/span>&lt;span style="color:#f92672">frps&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">frp&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frps&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">always&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>
&lt;h6 id="运行docker-composeyml">运行docker-compose.yml&lt;/h6>
&lt;/li>
&lt;li>
&lt;h5 id="docker-compose-up--d">docker compose up -d&lt;/h5>
&lt;/li>
&lt;li>
&lt;h6 id="frpstoml----服务端配置文件">frps.toml 服务端配置文件&lt;/h6>
&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">bindPort&lt;/span> &lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#f92672">7000&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">auth&lt;/span>.&lt;span style="color:#a6e22e">token&lt;/span> &lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Aa@123456\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">#管理面板配置
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.addr =\&amp;#34;0.0.0.0\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.port=7500 #管理面板
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.user=\&amp;#34;ccc\&amp;#34; #用户名
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.password=\&amp;#34;ccc123123\&amp;#34;&lt;/span> #密码
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>#允许的IP白名单&lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">可选&lt;/span>&lt;span style="color:#f92672">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">allow_ports&lt;/span> &lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#f92672">7000-8000&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h5 id="2-客户端配置">2. 客户端配置&lt;/h5>
&lt;ul>
&lt;li>
&lt;h6 id="docker-composeyml-1">docker-compose.yml&lt;/h6>
&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">frpc&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">stilleshan&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frpc&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">frpc&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">network_mode&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">host&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">./&lt;/span>&lt;span style="color:#f92672">frpc&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">frp&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frpc&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">always&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>
&lt;h6 id="frpctoml----客户端配置文件">frpc.toml 客户端配置文件&lt;/h6>
&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">serverAddr&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;0.0.0.0\&amp;#34; # 连接服务器地址
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">serverPort = 7000
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">auth.token = \&amp;#34;abc\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">[[proxies]]
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">name = \&amp;#34;web\&amp;#34; # 端口转发
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">type = \&amp;#34;tcp\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">localIP =\&amp;#34;127.0.0.1\&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">localPort&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">remotePort&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">443&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>NAS部署(Docker + Redis)——KatelyaTV 主应用</title><link>https://blog.xialins.cn/posts/migrated/post-139/</link><pubDate>Sat, 13 Sep 2025 06:02:35 +0000</pubDate><guid>https://blog.xialins.cn/posts/migrated/post-139/</guid><description>&lt;h3 id="项目yml">项目yml&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3.8&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">KatelyaTV&lt;/span> &lt;span style="color:#f92672">主应用&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">katelyatv&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">ghcr&lt;/span>.&lt;span style="color:#a6e22e">io&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">katelya77&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">katelyatv&lt;/span>:&lt;span style="color:#a6e22e">latest&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">katelyatv&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">ports&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;3000:3000\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> environment:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 管理员账号（请修改）
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - USERNAME=admin
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - PASSWORD=your_strong_password
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 启用 Redis 存储
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - NEXT_PUBLIC_STORAGE_TYPE=redis
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - REDIS_URL=redis://katelyatv-redis:6379
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 允许用户注册（可选）
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - NEXT_PUBLIC_ENABLE_REGISTER=true
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> depends_on:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> katelyatv-redis:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> condition: service_healthy
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> restart: unless-stopped
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 可选：挂载自定义配置
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # volumes:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # - ./config.json:/app/config.json:ro
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # Redis 数据库
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> katelyatv-redis:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> image: redis:7-alpine
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> container_name: katelyatv-redis
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> volumes:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - katelyatv-redis-data:/data
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> healthcheck:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> test: [\&amp;#34;CMD\&amp;#34;, \&amp;#34;redis-cli\&amp;#34;, \&amp;#34;ping\&amp;#34;&lt;/span>&lt;span style="color:#f92672">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">interval&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">10s&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">timeout&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">3s&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">retries&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">3&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">unless-stopped&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">katelyatv-redis-data&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docker部署</title><link>https://blog.xialins.cn/posts/migrated/post-46/</link><pubDate>Fri, 12 Sep 2025 07:04:04 +0000</pubDate><guid>https://blog.xialins.cn/posts/migrated/post-46/</guid><description>&lt;h3 id="项目yml">项目yml&lt;/h3>
&lt;h4 id="1-wordpressmariadb">1. Wordpress+mariadb&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">wordpress&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">wordpress&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">wordpress&lt;/span>:&lt;span style="color:#a6e22e">latest&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">always&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">vol1&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">1000&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">docker&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">wordpress&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">data&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">var&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">www&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">html&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">environment&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">WORDPRESS_DB_HOST&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">192&lt;/span>.&lt;span style="color:#a6e22e">168&lt;/span>.&lt;span style="color:#a6e22e">1&lt;/span>.&lt;span style="color:#a6e22e">50&lt;/span>:&lt;span style="color:#a6e22e">3306&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">WORDPRESS_DB_NAME&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">wordpress&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">WORDPRESS_DB_USER&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">wordpress&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">WORDPRESS_DB_PASSWORD&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">P&lt;/span>@&lt;span style="color:#66d9ef">f73&lt;/span>&lt;span style="color:#f92672">!&lt;/span>@&lt;span style="color:#66d9ef">BVzr2&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">配置密码&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">ports&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;8888:80\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> network_mode: bridge
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> wordpressdb:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> image: mariadb:10.5
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> restart: always
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> volumes:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - /vol1/1000/docker/mariadb/data:/var/lib/mysql
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> environment:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> MYSQL_ROOT_PASSWORD: password@15224 # root密码
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> MYSQL_DATABASE: wordpress
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> MYSQL_USER: wordpress
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> MYSQL_PASSWORD: P@f73!@BVzr2 # 配置密码
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> ports:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - \&amp;#34;3306:3306\&amp;#34;&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">将容器内的&lt;/span> &lt;span style="color:#f92672">3306&lt;/span> &lt;span style="color:#f92672">端口映射到宿主机的&lt;/span> &lt;span style="color:#f92672">3306&lt;/span> &lt;span style="color:#f92672">端口&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">network_mode&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">bridge&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="2-飞牛nas部署docker--rediskatelyatv-主应用">2. 飞牛NAS部署(Docker + Redis)——KatelyaTV 主应用&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3.8&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">KatelyaTV&lt;/span> &lt;span style="color:#f92672">主应用&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">katelyatv&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">ghcr&lt;/span>.&lt;span style="color:#a6e22e">io&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">katelya77&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">katelyatv&lt;/span>:&lt;span style="color:#a6e22e">latest&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">katelyatv&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">ports&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;3000:3000\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> environment:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 管理员账号（请修改）
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - USERNAME=admin
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - PASSWORD=your_strong_password
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 启用 Redis 存储
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - NEXT_PUBLIC_STORAGE_TYPE=redis
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - REDIS_URL=redis://katelyatv-redis:6379
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 允许用户注册（可选）
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - NEXT_PUBLIC_ENABLE_REGISTER=true
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> depends_on:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> katelyatv-redis:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> condition: service_healthy
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> restart: unless-stopped
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # 可选：挂载自定义配置
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # volumes:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # - ./config.json:/app/config.json:ro
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> # Redis 数据库
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> katelyatv-redis:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> image: redis:7-alpine
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> container_name: katelyatv-redis
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> volumes:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - katelyatv-redis-data:/data
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> healthcheck:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> test: [\&amp;#34;CMD\&amp;#34;, \&amp;#34;redis-cli\&amp;#34;, \&amp;#34;ping\&amp;#34;&lt;/span>&lt;span style="color:#f92672">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">interval&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">10s&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">timeout&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">3s&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">retries&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">3&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">unless-stopped&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">katelyatv-redis-data&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="3-frps安装部署">3. frps安装部署&lt;/h4>
&lt;h5 id="1-服务端配置">1. 服务端配置&lt;/h5>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">frps&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span> &lt;span style="color:#f92672">服务端配置文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">bindPort&lt;/span> &lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#f92672">7000&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">auth&lt;/span>.&lt;span style="color:#a6e22e">token&lt;/span> &lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Aa@123456\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">#管理面板配置
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.addr =\&amp;#34;0.0.0.0\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.port=7500 #管理面板
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.user=\&amp;#34;ccc\&amp;#34; #用户名
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">webServer.password=\&amp;#34;ccc123123\&amp;#34;&lt;/span> #密码
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>#允许的IP白名单&lt;span style="color:#f92672">(&lt;/span>&lt;span style="color:#f92672">可选&lt;/span>&lt;span style="color:#f92672">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">allow_ports&lt;/span> &lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#f92672">7000-8000&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">docker-compose&lt;/span>.&lt;span style="color:#a6e22e">yml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">frps&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">stilleshan&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frps&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">frps&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">network_mode&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">host&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">./&lt;/span>&lt;span style="color:#f92672">frps&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">frp&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frps&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">always&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h5 id="2-客户端配置">2. 客户端配置&lt;/h5>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">frpc&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span> &lt;span style="color:#f92672">客户端配置文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">serverAddr&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#960050;background-color:#1e0010">\&lt;/span>&lt;span style="color:#e6db74">&amp;#34;0.0.0.0\&amp;#34; # 连接服务器地址
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">serverPort = 7000
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">auth.token = \&amp;#34;abc\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">[[proxies]]
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">name = \&amp;#34;web\&amp;#34; # 端口转发
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">type = \&amp;#34;tcp\&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">localIP =\&amp;#34;127.0.0.1\&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">localPort&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">remotePort&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#960050;background-color:#1e0010">#&lt;/span> &lt;span style="color:#f92672">docker-compose&lt;/span>.&lt;span style="color:#a6e22e">yml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">frpc&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">stilleshan&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frpc&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">container_name&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">frpc&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">network_mode&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">host&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">./&lt;/span>&lt;span style="color:#f92672">frpc&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">frp&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">frpc&lt;/span>.&lt;span style="color:#a6e22e">toml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">always&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="4-nginx-proxy">4. nginx-proxy&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-css" data-lang="css">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">version&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;3.8&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">services&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">app&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">image&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;jc21/nginx-proxy-manager:latest&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">restart&lt;/span>&lt;span style="color:#f92672">:&lt;/span> &lt;span style="color:#f92672">unless-stopped&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">ports&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#e6db74">&amp;#39;80:80&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#e6db74">&amp;#39;81:81&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#e6db74">&amp;#39;443:443&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">volumes&lt;/span>&lt;span style="color:#f92672">:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">./&lt;/span>&lt;span style="color:#f92672">data&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">data&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">-&lt;/span> &lt;span style="color:#f92672">./&lt;/span>&lt;span style="color:#f92672">letsencrypt&lt;/span>&lt;span style="color:#f92672">:/&lt;/span>&lt;span style="color:#f92672">etc&lt;/span>&lt;span style="color:#f92672">/&lt;/span>&lt;span style="color:#f92672">letsencrypt&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>