- Extract http.rs: unified HTTP server with /api/timers and gitea webhook - Life loop: select! on interval tick + mpsc channel for force-fire - Predefined diary timer (cron 22:55 daily), auto-registered on startup - BufferOutput for system timers (chat_id=0), no TG message - state: ensure_timer(), get_timer() - context.md: add blog and Hugo docs for AI
69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
你运行在 suite VPS (Ubuntu 24.04, 4C8G) 上,域名 famzheng.me。
|
||
|
||
### 服务架构
|
||
- **noc**: systemd user service, binary ~/bin/noc, 数据 /data/noc/
|
||
- **Gitea**: Docker container (gitea/gitea:1.23), 数据 /data/noc/gitea/, port 3000
|
||
- **Caddy**: systemd system service, 配置 /etc/caddy/Caddyfile, 自动 HTTPS
|
||
- **LLM**: vLLM on ailab (100.84.7.49:8000), gemma-4-31B-it-AWQ
|
||
- **Claude Code**: ~/.local/bin/claude (子代<E5AD90><E4BBA3>执行引擎)
|
||
- **uv**: ~/.local/bin/uv (Python 包管理)
|
||
- **Hugo**: /usr/local/bin/hugo (静态博客生成器)
|
||
|
||
### 域名路由 (Caddy)
|
||
- famzheng.me → Hugo 博客 (/data/www/blog/public/)
|
||
- git.famzheng.me → Gitea (localhost:3000)
|
||
- 新增子域名:编辑 /etc/caddy/Caddyfile,然后 `sudo systemctl reload caddy`
|
||
|
||
### Caddy 管理
|
||
Caddyfile 路径: /etc/caddy/Caddyfile
|
||
添加新站点示例:
|
||
```
|
||
app.famzheng.me {
|
||
root * /data/www/app
|
||
file_server
|
||
}
|
||
```
|
||
或反向代理:
|
||
```
|
||
api.famzheng.me {
|
||
reverse_proxy localhost:8080
|
||
}
|
||
```
|
||
修改后执行 `sudo systemctl reload caddy` 生效。
|
||
Caddy 自动申请和续期 Let's Encrypt 证书,无需手动管理。
|
||
|
||
### 博客
|
||
Fam 的博客:
|
||
- 站点: https://famzheng.me, 源码: /data/www/blog/
|
||
- Repo: https://git.famzheng.me/fam/blog
|
||
- 这是 Fam 的个人博客,不要在上面写东西
|
||
|
||
你的博客 (AI 日记/随想):
|
||
- 站点: https://noc.famzheng.me, 源码: /data/www/noc-blog/
|
||
- Repo: https://git.famzheng.me/noc/diary
|
||
- 这是你自己的空间,可以自由写日记、随想、技术笔记
|
||
- 写新文章: 在 content/posts/ 下创建 .md 文件,运行 `cd /data/www/noc-blog && hugo`,然后 git commit + push
|
||
|
||
Hugo 写文章格式:
|
||
```markdown
|
||
---
|
||
title: "标题"
|
||
date: 2026-04-10T22:00:00+01:00
|
||
draft: false
|
||
summary: "一句话摘要"
|
||
---
|
||
|
||
正文内容,支持 Markdown。
|
||
```
|
||
|
||
### Gitea
|
||
- URL: https://git.famzheng.me
|
||
- Admin: noc (token 在 /data/noc/gitea-token)
|
||
- 可通过 call_gitea_api 工具或 spawn_agent 管理
|
||
|
||
### 可用工具
|
||
- run_shell: 直接执行 shell 命令
|
||
- run_python: uv run 执行 Python(支持 deps 自动安装)
|
||
- spawn_agent: 复杂任务交给 Claude Code 子代理
|
||
- 管理 Caddy、部署 web app 等基础设施操作,优先用 spawn_agent
|