前情提要 - 我的云服务器上运行了什么
root@meta-unicorn-2:~# uptime
11:47:04 up 77 days, 20:43, 1 user, load average: 0.05, 0.06, 0.05
2 个月前重装了 VPS 的系统,利用 AI 实践了一把服务器上所有数据和服务的备份和恢复。这次让 AI 直接 ssh 到服务器上进行检查和安全加固。
2026 年 7 月更新一下云服务器上最新的应用。
Nginx
Cloudflare → nginx → 本地后端。nginx 负责反向代理和 TLS,后端服务全部只绑在 127.0.0.1 上,不直接暴露在公网。
除了反代自己的应用,还做了三个 API 中转,在国内不用科学途径也能直接调用。
OpenAI:https://x1.xxx.com/v1 → api.openai.com
Notion:https://x2.xxx.com/v1 → api.notion.com
Gemini:https://x3.xxx.com → generativelanguage.googleapis.com
Docker
root@meta-unicorn-2:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4d13a84d3e91 doocs/md:latest "md" 6 weeks ago Up 6 weeks 127.0.0.1:8089->80/tcp md
97972d4d25f4 codercom/code-server:latest "/usr/bin/entrypoint…" 2 months ago Up 2 months 127.0.0.1:8090->8080/tcp code-server
0af6d17b7067 finab/bark-server "/entrypoint.sh bark…" 2 months ago Up 2 months 127.0.0.1:10086->8080/tcp bark
6afa659efdc9 neosmemo/memos:0.18.2 "./memos" 2 months ago Up 2 months 127.0.0.1:5230->5230/tcp memos
fc129e17d4c4 ghcr.io/plankanban/planka:1.26.1 "docker-entrypoint.s…" 2 months ago Up 2 months (healthy) 127.0.0.1:3000->1337/tcp planka-planka-1
e992937ef310 postgres:14-alpine "docker-entrypoint.s…" 2 months ago Up 2 months (healthy) 5432/tcp planka-postgres-1
docker 里运行以下应用。
code-server
在浏览器里访问 VS Code,任何机器上打开网页就能写代码、管理代码片段。
Planka
看板应用,类似 Trello,工作上的 task 都放在这里,数据在自己手上。
Memos
轻量笔记服务,我把它用在博客里,调用 memo s的 api 展示一些只言片语。
Bark
iOS 推送服务,监控脚本、定期提醒都靠它给 iPhone 推消息。
doocs/md
公众号排版工具。
自己定制的应用
这一年多和 AI 一起写了几个小应用。
错题本
给小朋友整理错题用的。花一小时,我和 AI做了个错题本 app

复习卡片
给小朋友用的学习卡片工具,这个目前没怎么用。
小朋友的进步手册
记录小朋友的日常进步。当他遇到困难、哭鼻子的时候就打开给他看看,让他回顾一下通过努力得到的进步。
微信文章存 Notion
看到好的微信文章,复制链接,轻点 iPhone 背面三下,调用快捷指令,就可以存到 Notion 里归档。
微信读书划线卡片

Cron定时任务
root@meta-unicorn-2:~# crontab -l |grep -v '^#'
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/bash
0 1 * * 0 /root/backup-vps.sh > /var/log/backup-vps-$(date +\%Y\%m\%d).log 2>&1
0 3 1 * * find /var/log -name 'backup-vps-*.log' -mtime +60 -delete
25 * * * * /root/wallpaper_env/bin/python3 /root/wallpaper_env/generate_wallpaper.py >/root/generate_wallpaper.log 2>&1
0 */3 * * * cd /root/weread-export && /usr/bin/python3 export_notes.py >> export.log 2>&1
每周日凌晨整机备份,每月清理 60 天前的备份日志。
每小时生成一张打卡壁纸。把运动统计写在 iPhone 锁屏上,还会自动切换
上面提到的微信读书划线卡片,每3小时把最新的划线导出。
安全
ufw 防火墙:只放行 SSH 和 Cloudflare 网段的 80/443。
fail2ban:防 SSH 暴力破解。
sshd:非标准端口,仅密钥登录。
一台 2 核 2G 小机器,跑了这么多东西,太值了。
就这样。2027 年再来更新。