🚀 低配服务器极简部署笔记 (Moontvplus & OpenList)
一、环境准备
- 系统: Ubuntu 22.04 LTS (纯净版)
- 硬件: 2 vCPU / 900MB RAM / 30GB Disk
- 关键策略: 开启 Swap 虚拟内存、全 Docker 化、Nginx 反向代理、自动化 SSL。
- 开启 BBR
1 | sudo echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf |
二、核心部署步骤
1. 开启 2GB 虚拟内存
- 防止内存溢出导致容器崩溃。
1 | sudo fallocate -l 2G /swapfile |
2. 安装基础环境
1 | sudo apt update && sudo apt upgrade -y |
3. 部署 Moontvplus (Upstash 云数据库版)
1 | sudo docker run -d --name orangetv --restart always \ |
4. 部署 OpenList
- 注意: 必须先处理目录权限,否则会报 502/Restarting 错误。
1 | # 创建目录并赋予权限 |
三、网络与安全配置
1. Nginx 反向代理
- 创建配置
1 | sudo nano /etc/nginx/sites-available/media_srv` |
1 | server { |
- 启用配置
1 | sudo ln -s /etc/nginx/sites-available/media_srv /etc/nginx/sites-enabled/ |
2. 自动化 SSL 证书
1 | sudo certbot --nginx -d tv.xxx.com -d pan.xxx.com |
四、常用维护命令
| 任务 | 命令 |
|---|---|
| 查看容器状态 | docker ps |
| 实时查看内存 | docker stats |
| 查看系统资源 | free -h |
| 清理冗余镜像 | docker system prune -f |
| 测试证书续期 | sudo certbot renew –dry-run |
五、避坑总结
- 权限问题:OpenList 必须对挂载目录有写入权限,使用
chmod 777和--user root是低配环境最稳妥方案。 - 502 错误:通常是后端容器处于
Restarting状态,请检查docker logs openlist。 - 域名解析:必须确保 GCP 防火墙已放行 80/443 端口,且域名 A 记录已生效。
六、更新容器镜像
1. 拉取最新镜像
1 | sudo docker pull ghcr.io/mtvpls/moontvplus:latest |
2. 删除旧容器
1 | sudo docker pull ghcr.io/mtvpls/moontvplus:latest |
3. 用同样的参数重新启动
1 | sudo docker run -d --name moontv-core \ |
4. 🧹 更新后的清理
1 | sudo docker image prune -f |