サーバー環境構築
概要
nicolib は共通 library として利用する repository である。
今回の Ubuntu 26.04 LTS 環境では、nicolib 自体を独立した daemon として起動する構成ではない。
専用 systemd unit や専用 database は作成しない。
1. repository
信頼できる Gitea の最新 main を使用する。
旧サーバーから以下をそのまま持ち込まない。
- Python cache
- compiled artifact
- credential
- 秘密情報入り設定
- 信頼できない binary
2. Python environment
本番環境:
system-wide pip を使用する場合:
を確認する。
3. package permission
umask 077 の状態で pip install すると、
のような権限で package が配置される場合がある。
service user から import できなくなるため注意する。
確認:
必要な場合:
4. 動作確認
実際に利用する service user から import する。
利用主体が nizika の場合:
利用主体が nizika-ai の場合:
5. 秘密情報
library repository 内へ秘密情報を保存しない。
DB password、API key 等が必要な場合は利用側 service の:
から environment variable として渡す。
6. systemd
nicolib 自体には systemd service を作成しない。
常駐 process の管理は、実際に nicolib を使用する上位 application が担当する。
7. 再構築時の原則
- Gitea の信頼できる最新
main を取得する。
- service user から読み取り可能にする。
- secrets を repository に保存しない。
- system Python の package permission を確認する。
- 実際の利用 user から import test を行う。