前
之前包括博客——噗派吖,密码管理服务——PWD
在内的服务都是搭建在腾讯云的2c4g轻量服务器上的,当时是有优惠,再加上是中间升级配置,所以对于价格倒还没有多么敏感,但是最近一看,续费一年要70×12=840,一下就觉得en,每年花这么多钱搞这个有点贵,本来就是自己折腾的东西,没必要这么花钱,所以就有在想一些其他的实现方式。其实最主要的还是bitwarden密码管理服务,用了之后就有点离不开了,现在密码基本都是放在这上边的,所以等到服务器到期之后,这个是一定要做一下PLANB的。
六月份的时候刷到一些树莓派的视频,其实很早之前就想折腾这些东西,然后在某个夜晚就是激情下单香橙派5,准备开始自己的折腾之路。
买了香橙派5和ssd以及一些配套的东西,等到到了之后就开始折腾起来。系统用的是DietPi,当时是直接问了deepseek,要他推荐一下轻量的系统,最后选择这个。所有服务都用docker来部署,这样迁移起来比较方便我觉得是。
到货,开始折腾
到了之后首先把dietpi烧录到ssd中,烧录用的官方工具,如果有需要这里之后可以详细写一下,烧录好之后就进入然后安装docker和docker compose,开始部署一些东西。
说到这个,最开始在设置dietpi的静态ip的时候还出现了很多问题,当时我是直接在路由器中设置静态ip的,但是我发现香橙派5每次启动后,他的mac地址总会变,但是因为之前已经给前mac地址固定了ip,现在他获得不了地址,就直接连接不上了,wc,这里当时折腾了一晚上,最后还是直接在设置中/etc/network/interface
中增加了
hwaddress ether 固定mac地址xx:xx:xx:xx:xx:xx
这么一行把他固定下来了,现在也算是固定了内网ip。
固定好之后就开始拉取一些必备的镜像,那既然涉及到docker就又涉及到国内镜像源的事情了,因为之前很久没有弄过这块了,在第一次拉的时候拉不下来还很疑惑,但是好歹是有deepseek哈,也是在它的帮助下成功设置镜像源拉取镜像了。
主要就是拉bitwarden的镜像,docker-compose.yml如下
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
volumes:
- ./vw_data:/data
environment:
SIGNUPS_ALLOWED: "false"
ADMIN_TOKEN: "xxx"
WEBSOCKET_ENABLED: "true"
ports:
- "8000:80" # HTTP服务
- "3012:3012" # WebSocket服务
通过这个拉取后在内网8000就可以访问了,然后又想折腾一个memos服务,docker-compose.yml如下
services:
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
volumes:
- ./data:/var/opt/memos
- ./config:/etc/memos
ports:
- "5230:5230" # 暴露到宿主机端口
很简单的一个配置文件,配置之后直接使用docker compose up -d
就可以上线服务了,很简单,这就是我喜欢用docker的原因,只要一个yml文件,后续的直接无脑命令就好。
ok,服务就上线了,接下来就是该实现如何在公网访问了。
穿透方案
cloudflare tunnel
其实在最开始用的是,包括现在也在用的是CF tunnel,只需要docker配置一下,cf控制台配置一下就可以了,超级方便,域名啥的cf自定义主机名就好。
docker-compose.yml如下
services:
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared-shared
restart: unless-stopped
command: tunnel --no-autoupdate --protocol http2 run
env_file: .env # 包含 TUNNEL_TOKEN
network_mode: host # 关键配置!使用宿主机网络
.env如下
# Cloudflare Tunnel Token
TUNNEL_TOKEN=YourToken
然后熟悉命令 up -d上线就好。但是用着用着发现一些问题了,移动网络屏蔽了cfip,导致移动网络完全访问不了,其他的就行,就移动屏蔽!!!!如图:
包括我现在上传的这个图,也遭屏蔽,因为用的是r2存储,刚好我家的宽带是移动的,就直接一点都不好!!
乐青映射
⬆⬆超好用推荐!
ok,cf tunnle用不了就只能看其他的,在搜了搜,看到有frp,等其他的穿透方案,但是我就是不想用云服务器,因为之后肯定是主力不在云服务器上了,加上续费贵,所以就考虑有其他的方式不。
恰好在b站刷到这个映射,就准备看看,其实是被免费流量吸引,然后昨晚就一直从2点整到4点,因为配置一直出问题,最后也是搞好了。
下载linux工具
下载好之后解压,然后准备配置隧道。
配置隧道
配置隧道就很简单了,直接选择需要内网映射的端口和公网访问的域名,配置好之后一键启动,通常命令是这样的
./frpc -u 密钥 -p id
但是我们不可能一直把他前台挂着,所以需要配置守护进程
守护进程配置
那么首先你需要在/etc/systemd/system/
中新建一个文件,我的叫frpc.service
后缀要是这个,内容如下:
[Unit]
Description=LoCyanFrp Client
[Service]
WorkingDirectory=/home/dietpi/frp/
ExecStart=/home/dietpi/frp/frpc
# 如果你的配置文件名不为 frpc.ini,请手动使用 -c 指定:
#ExecStart=/opt/lcf/frpc -c config.ini
[Install]
WantedBy=network.target
其中WorkingDirectory
是你文件夹的路径,像我是直接dietpi用户下就是这个路径。
这个配置好之后,在用下列命令启动服务就好
systemctl enable lcf-frpc.service --now
# 查看运行状态
systemctl status lcf-frpc.service
ok,到现在所有配置已经完成,接下来就可以在公网访问映射的域名了!
总结
嗯,移动墙中墙。