| 123456789101112131415161718192021222324252627 |
- <!doctype html><html lang=zh-cn><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>运维指南 · Indigo Floyd's Latent Garden</title><meta name=description content="Exploring latent space and cultivating sweet trips."><link rel=stylesheet href=../../../css/site.css><link rel=icon href=../../../favicon.ico type=image/x-icon><link rel=apple-touch-icon href=../../../logo.png><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&display=swap" rel=stylesheet></head><body><header class=site-header><div class="wrap header-inner"><div><a class=site-title href=../../../><img src=../../../logo.png alt=Logo class=site-logo>
- Indigo Floyd's Latent Garden</a><p class=site-tagline>Exploring latent space and cultivating sweet trips.</p></div><button class=menu-toggle aria-label=菜单 aria-expanded=false>
- <span></span>
- <span></span>
- <span></span></button><nav class=site-nav><a href=../../../>Home</a>
- <a href=../../../ai-daily/>AI Daily</a>
- <a href=../../../blog/>Blog</a>
- <a href=../../../resume/>Resume</a>
- <a href=../../../search class=search-link>🔍</a></nav></div></header><main class=wrap><article class="card article"><p class=meta><a href=../../../projects/>← 返回 Projects</a></p><h1>运维指南</h1><p class=meta>2026-03-12 00:00</p><div class=prose><h2 id=部署>部署</h2><h3 id=docker-compose>Docker Compose</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#f92672>version</span>: <span style=color:#e6db74>'3.8'</span>
- </span></span><span style=display:flex><span><span style=color:#f92672>services</span>:
- </span></span><span style=display:flex><span> <span style=color:#f92672>robotdaily</span>:
- </span></span><span style=display:flex><span> <span style=color:#f92672>build</span>: <span style=color:#ae81ff>./deploy</span>
- </span></span><span style=display:flex><span> <span style=color:#f92672>volumes</span>:
- </span></span><span style=display:flex><span> - <span style=color:#ae81ff>./site:/app</span>
- </span></span><span style=display:flex><span> <span style=color:#f92672>environment</span>:
- </span></span><span style=display:flex><span> - <span style=color:#ae81ff>ARXIV_API_KEY=${ARXIV_API_KEY}</span>
- </span></span><span style=display:flex><span> - <span style=color:#ae81ff>DISCORD_BOT_TOKEN=${DISCORD_BOT_TOKEN}</span>
- </span></span><span style=display:flex><span> <span style=color:#f92672>nginx</span>:
- </span></span><span style=display:flex><span> <span style=color:#f92672>image</span>: <span style=color:#ae81ff>nginx:alpine</span>
- </span></span><span style=display:flex><span> <span style=color:#f92672>ports</span>:
- </span></span><span style=display:flex><span> - <span style=color:#e6db74>"80:80"</span>
- </span></span><span style=display:flex><span> <span style=color:#f92672>volumes</span>:
- </span></span><span style=display:flex><span> - <span style=color:#ae81ff>./site/public:/usr/share/nginx/html:ro</span>
- </span></span></code></pre></div><h3 id=本地开发>本地开发</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>cd skills/robdaily
- </span></span><span style=display:flex><span>hugo server -D -F
- </span></span></code></pre></div><h2 id=日常维护>日常维护</h2><h3 id=每日自动推送>每日自动推送</h3><ul><li>时间:每天 10:30</li><li>触发:cron 作业或手动执行 <code>scripts/run_daily.py</code></li><li>输出:Discord Embed + Hugo Markdown 归档</li></ul><h3 id=日志查看>日志查看</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>docker logs robotdaily-arxiv-digest
- </span></span></code></pre></div><h2 id=故障排查>故障排查</h2><h3 id=discord-推送失败>Discord 推送失败</h3><ol><li>检查 <code>DISCORD_BOT_TOKEN</code> 是否有效</li><li>验证 Webhook URL 权限</li><li>查看日志中的 HTTP 状态码</li></ol><h3 id=hugo-构建失败>Hugo 构建失败</h3><ol><li>检查模板语法错误</li><li>验证 Markdown 文件格式</li><li>清理并重新构建:<code>hugo --cleanDestinationDir</code></li></ol></div></article></main><footer class="site-footer wrap"><p>© 2026 IndigoFloyd · Hugo personal site for AI briefs / blog / resume.</p></footer><script>document.addEventListener("DOMContentLoaded",function(){const e=document.querySelector(".menu-toggle"),t=document.querySelector(".site-nav");e.addEventListener("click",function(){const n=e.classList.toggle("active");t.classList.toggle("active"),e.setAttribute("aria-expanded",n)})})</script></body></html>
|