<?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 Laning's Blog</title><link>https://blog.laning.org/categories/%E8%87%AA%E6%89%98%E7%AE%A1%E4%B8%8E%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2/</link><description>Recent content in 自托管与服务部署 on Laning's Blog</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 29 Mar 2025 17:19:21 +0800</lastBuildDate><atom:link href="https://blog.laning.org/categories/%E8%87%AA%E6%89%98%E7%AE%A1%E4%B8%8E%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>Emby反代及HTTPS配置教程</title><link>https://blog.laning.org/posts/wp-0433/</link><pubDate>Sat, 01 Mar 2025 12:18:00 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0433/</guid><description>&lt;h2 id="nginx配置"&gt;Nginx配置&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;server {
listen 443 ssl;
server_name your.domain.com;
# Security / XSS Mitigation Headers
add_header X-Frame-Options &amp;#34;SAMEORIGIN&amp;#34;;
add_header X-XSS-Protection &amp;#34;1; mode=block&amp;#34;;
add_header X-Content-Type-Options &amp;#34;nosniff&amp;#34;;
# ssl的设置
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_session_timeout 5m;
# 禁止ip访问
if ($host ~ ^\d+\.\d+\.\d+\.\d+$) {
return 404;
}
# 防止爬虫获取header，直接访问/就返回502，其他的路径才行，app观看不影响，不用这个
location = / {
return 502;
}
location / {
resolver 1.1.1.1 ipv6=off;
if ($host != $server_name) {
return 403;
}
proxy_pass https://www.emby.com;
# ssl pass相关的设置
proxy_ssl_name www.emby.com;
proxy_ssl_server_name on;
proxy_set_header Host www.emby.com;
set $magpiecdn &amp;#34;$scheme://$server_name:$server_port&amp;#34;;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header MagpieCDN $magpiecdn;
proxy_buffering off;
}
location /***cdn {
resolver 1.1.1.1 ipv6=off;
proxy_pass https://$arg_load.emby.com;
# ssl pass相关的设置
proxy_ssl_name $arg_load.emby.com;
proxy_ssl_server_name on;
proxy_set_header Host $arg_load.emby.com;
proxy_buffering on;
proxy_max_temp_file_size 50m;
}
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;说明：&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>通过LangBot将大模型接入到Telergram</title><link>https://blog.laning.org/posts/wp-0430/</link><pubDate>Fri, 14 Feb 2025 13:05:18 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0430/</guid><description>&lt;h2 id="项目地址"&gt;项目地址&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/RockChinQ/LangBot"&gt;GitHub - RockChinQ/LangBot: 😎丰富生态、🧩支持扩展、🦄多模态 - 大模型原生即时通信机器人平台 | 适配 QQ / 微信（企业微信、个人微信）/ 飞书 / 钉钉 / Discord / Telegram 等消息平台 | 支持 ChatGPT、DeepSeek、Dify、Claude、Gemini、xAI Grok、Ollama、LM Studio、阿里云百炼、火山方舟、SiliconFlow、Qwen、Moonshot、ChatGLM、SillyTraven、MCP 等 LLM 的机器人 / Agent | LLM-based instant messaging bots platform, supports Discord, Telegram, WeChat, Lark, DingTalk, QQ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>使用 Telegram 作为存储后端的图床程序</title><link>https://blog.laning.org/posts/wp-0421/</link><pubDate>Wed, 04 Dec 2024 16:18:29 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0421/</guid><description>&lt;h2 id="项目地址"&gt;项目地址&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/nodeseeker/goImage"&gt;GitHub - nodeseeker/goImage: 基于 Go 开发的图片托管服务，使用 Telegram 作为存储后端。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/laningya/goImage"&gt;GitHub - laningya/goImage: 基于 Go 开发的图片托管服务，使用 Telegram 作为存储后端。&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="部署流程"&gt;部署流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;拉取Dockerfile并本地构建镜像&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget https://raw.githubusercontent.com/laningya/goImage/refs/heads/main/Dockerfile
docker build -t image .
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;拉取docker-compose.yml文件&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget https://raw.githubusercontent.com/laningya/goImage/refs/heads/main/docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;拉取config.json文件&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget https://raw.githubusercontent.com/laningya/goImage/refs/heads/main/config.json
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;config.json文件说明如下：&lt;/p&gt;</description></item><item><title>基于Cloudflare Worker的Telegram传信机器人</title><link>https://blog.laning.org/posts/wp-0424/</link><pubDate>Thu, 05 Sep 2024 17:20:01 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0424/</guid><description>&lt;h2 id="项目原因"&gt;项目原因&lt;/h2&gt;
&lt;p&gt;Telegram是很注重隐私的聊天软件，受到很多人的青睐。但是，如果经常和陌生人聊天很容易触发风控，因此一款好用的传信机器人十分有必要。&lt;/p&gt;
&lt;h2 id="项目特色"&gt;项目特色&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;在nfdv1项目的基础上增加提示对方ID（TG账户唯一标识）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;美化输出UI，以及封禁逻辑&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;支持构建欺诈数据库，有不良记录的用户及时提醒&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>哪吒监控部署</title><link>https://blog.laning.org/posts/wp-0363/</link><pubDate>Mon, 22 Apr 2024 20:03:20 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0363/</guid><description>&lt;h2 id="演示站点"&gt;演示站点&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://dash.laning.org/"&gt;laning&amp;rsquo;s dashboard&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="项目起因"&gt;项目起因&lt;/h2&gt;
&lt;p&gt;手上的vps逐渐多了起来，还是可以玩一下监控面板&lt;/p&gt;
&lt;h2 id="主要特性"&gt;主要特性&lt;/h2&gt;
&lt;p&gt;cloudflare CDN + caddy反代&lt;/p&gt;
&lt;h2 id="部署过程"&gt;部署过程&lt;/h2&gt;
&lt;h3 id="官方参考文档"&gt;官方参考文档&lt;/h3&gt;
&lt;h4 id="文档地址"&gt;文档地址&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://nezha.wiki/guide/dashboard.html"&gt;哪吒监控 | 哪吒监控 (nezha.wiki)&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="主要步骤"&gt;主要步骤&lt;/h4&gt;
&lt;p&gt;参考文档拉取源码并docker部署，接入github作为管理账号，配置cf的cdn代理&lt;/p&gt;
&lt;h3 id="docker部署caddy反代"&gt;docker部署caddy反代&lt;/h3&gt;
&lt;h4 id="docker-composeyml"&gt;docker-compose.yml&lt;/h4&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;version: &amp;#39;3.3&amp;#39;
services:
caddy:
image: caddy
container_name: caddy
hostname: caddy
restart: always
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
- ./caddy/data:/data
- ./caddy/config:/config
network_mode: host
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="caddyfile"&gt;Caddyfile&lt;/h4&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cdn.example.com
encode gzip
reverse_proxy 127.0.0.1:8008
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="icmptcp-公用ip探针"&gt;ICMP/TCP 公用IP探针&lt;/h3&gt;
&lt;h4 id="文档地址-1"&gt;文档地址&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://www.nodeseek.com/post-68572-1"&gt;【存】全国 34 省份 TCPING v4 IP (nodeseek.com)&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Jellyfin on NanoPC-T4</title><link>https://blog.laning.org/posts/wp-0290/</link><pubDate>Tue, 19 Mar 2024 14:40:38 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0290/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;受限于jellyfin对rk3399等ARM处理器视频硬件解码的支持，搭建的Jellyfin服务都采用客户端解码。&lt;/p&gt;
&lt;h2 id="docker部署jellifin"&gt;docker部署Jellifin&lt;/h2&gt;
&lt;h3 id="docker-composeyml文件"&gt;docker-compose.yml文件&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;version: &amp;#39;3.3&amp;#39;
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
network_mode: &amp;#39;host&amp;#39;
volumes:
- ./config:/config
- ./cache:/cache
- ./media:/media
# - /path/to/media2:/media2:ro
restart: &amp;#39;unless-stopped&amp;#39;
# Optional - alternative address used for autodiscovery
environment:
- JELLYFIN_PublishedServerUrl=http://example.com
#- http_proxy=http://127.0.0.1:7890
#- https_proxy=http://127.0.0.1:7890
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
# extra_hosts:
# - &amp;#39;host.docker.internal:host-gateway&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;一些说明：&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>gitea服务安装配置</title><link>https://blog.laning.org/posts/wp-0283/</link><pubDate>Sat, 27 May 2023 02:53:51 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0283/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;关于gitea是什么，以及基本的配置可以参考&lt;a href="https://docs.gitea.com/zh-cn/"&gt;官方文档&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="特性"&gt;特性&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;此为内网使用，因而没有配置caddy或nginx等代理&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="配置"&gt;配置&lt;/h2&gt;
&lt;h3 id="1启动docker服务"&gt;1.启动docker服务&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;docker-compose up -d
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2ipport通过浏览器配置"&gt;2.IP:port通过浏览器配置&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://blog.laning.org/images/2023-05-27-gitea%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/Gitea%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8E%E7%AB%99%E7%82%B9%E5%88%9D%E5%A7%8B%E5%8C%96%E9%85%8D%E7%BD%AE.png"&gt;&lt;img alt="Gitea数据库与站点初始化配置" loading="lazy" src="https://blog.laning.org/images/2023-05-27-gitea%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/Gitea%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8E%E7%AB%99%E7%82%B9%E5%88%9D%E5%A7%8B%E5%8C%96%E9%85%8D%E7%BD%AE.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.laning.org/images/2023-05-27-gitea%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/Gitea%E6%9C%8D%E5%8A%A1%E4%B8%8E%E7%AE%A1%E7%90%86%E5%91%98%E9%85%8D%E7%BD%AE.png"&gt;&lt;img alt="Gitea服务与管理员配置" loading="lazy" src="https://blog.laning.org/images/2023-05-27-gitea%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/Gitea%E6%9C%8D%E5%8A%A1%E4%B8%8E%E7%AE%A1%E7%90%86%E5%91%98%E9%85%8D%E7%BD%AE.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>vscode-web服务与配置</title><link>https://blog.laning.org/posts/wp-0268/</link><pubDate>Sat, 27 May 2023 01:59:14 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0268/</guid><description>&lt;p&gt;&lt;a href="https://blog.laning.org/images/2023-05-27-vscode-web%E6%9C%8D%E5%8A%A1%E4%B8%8E%E9%85%8D%E7%BD%AE/VSCode-Web%E6%B5%8F%E8%A7%88%E5%99%A8%E5%BC%80%E5%8F%91%E7%95%8C%E9%9D%A2.png"&gt;&lt;img alt="VSCode-Web浏览器开发界面" loading="lazy" src="https://blog.laning.org/images/2023-05-27-vscode-web%E6%9C%8D%E5%8A%A1%E4%B8%8E%E9%85%8D%E7%BD%AE/VSCode-Web%E6%B5%8F%E8%A7%88%E5%99%A8%E5%BC%80%E5%8F%91%E7%95%8C%E9%9D%A2.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;如果需要在多台设备之间来进行开发工作，频繁的配置开发环境无疑是很消耗精力的事情。而vscode-web提供了通过浏览器来编写代码的环境，因而理论上，你可以在任何一台机器上继续你的工作。&lt;/p&gt;
&lt;h2 id="配置过程"&gt;配置过程&lt;/h2&gt;
&lt;h3 id="1启动docker服务"&gt;1.启动docker服务&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;docker-compose up -d
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2进入容器查看密钥"&gt;2.进入容器查看密钥&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#进入容器
docker exec -it code-server bash
#查看密钥
cat ~/.config/code-server/config.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3更换容器的apt源"&gt;3.更换容器的apt源&lt;/h3&gt;
&lt;p&gt;参考文档：&lt;a href="https://mirrors.tuna.tsinghua.edu.cn/help/debian/"&gt;清华开源软件镜像站Debian Help&lt;/a&gt;&lt;/p&gt;</description></item><item><title>bingAI本地部署</title><link>https://blog.laning.org/posts/wp-0263/</link><pubDate>Sat, 27 May 2023 00:35:44 +0800</pubDate><guid>https://blog.laning.org/posts/wp-0263/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;自从chatGPT3.0问世以后，新一轮的人工智能浪潮深刻改变了我们的生活。相比于深蓝击败人类象棋冠军以及阿尔法狗击败人类围棋冠军，chatGPT更能称为划时代的人工智能产品，因为它太接近我们的生活了（通用人工智能）。关于它能干什么以及它与newbing的关系这里不多介绍，感兴趣的可以自己寻找这方面的科普视频。本文主要分享如何通过docker部署newbing，从而达到无需魔法访问newbing的目的。&lt;/p&gt;</description></item></channel></rss>