概要
個人サーバーを運用していると、「ちょっとした Webhook を受け取りたい」「定期的にシステム状態をロギングしたい」という場面がよくあります。
Docker やヘビーなフレームワークを入れると、それだけで数十〜数百メガバイトのメモリを消費してしまいますが、Python 3.12 と FastAPI + Uvicorn を native systemd サービスとして動かすことで、わずか 50MB 程度の常駐メモリで本格的な API 基盤が手に入ります。
主な特徴
- 自動ドキュメント生成:
/api/docsにアクセスするだけで OpenAPI (Swagger UI) によるテストが可能。 - Webhook トリガー: 外部からの POST リクエストを受け取り、ブログの自動再コンパイルや通知を実行。
- systemd 監視:
MemoryMax=80Mのリソース制限を設け、メモリ暴走を確実に防止。
今後も少しずつ便利なエンドポイントを追加していく予定です。