Dynamis 系プロジェクトの機密レポートをHTTPS+Basic認証で配信する統合サーバ。
https://report.dynamis.ngrok.app/prototypes_server の派生 (services.yml special.reports_server)~/systems/reports-root/
├── server.py # 配信サーバ (Python)
├── build.py # MD→HTML 変換ツール
├── tunnel.sh # ngrok トンネル up/down 管理
├── .auth.yml # 認証情報 (chmod 600, git管理外)
├── index.html # 公開トップ (ナレッジ)
├── _assets/
│ └── style.css # 共通スタイル
├── docs/ # 公開ナレッジ (このファイル)
│ └── setup.html
├── sada/ # SADA レポート (auth: sada:...)
│ ├── index.html
│ └── *.html
└── <other>/ # 他プロジェクト
例: SADA の新規レポート ~/systems/sada/REPORT_FOO_20260601.md を公開
cd ~/systems/reports-root
python3 build.py sada /home/dynamis/systems/sada/REPORT_FOO_20260601.md
# → /sada/report_foo_20260601.html 生成 + /sada/index.html 自動更新
ディレクトリ内一括変換:
python3 build.py sada --all /home/dynamis/systems/sada/
# → REPORT_*.md を全変換
例: kumade プロジェクトを追加
openssl rand -base64 16 | tr -d '+/=' | cut -c1-16
# → 例: aBcDeFgH12345678
.auth.yml に追記 (chmod 600)sada: "sada:..."
kumade: "kumade:aBcDeFgH12345678"
~/svc/services.yml の special.reports_server.mounts に追記mounts:
sada:
path: ./sada
kumade: # 新規
path: ./kumade
systemctl --user restart reports-server.service
curl -u kumade:aBcDeFgH12345678 -sI http://127.0.0.1:7050/kumade/
# → HTTP/1.0 200 OK
systemctl --user start reports-server.service
systemctl --user stop reports-server.service
systemctl --user status reports-server.service
systemctl --user restart reports-server.service
cd ~/systems/reports-root
./tunnel.sh up # トンネル開始 (他トンネル無影響)
./tunnel.sh down # トンネル停止
./tunnel.sh status # 状態確認
journalctl --user -u reports-server.service -f
| パス | 認証 | 用途 |
|---|---|---|
/ |
なし | トップページ (ナレッジ案内) |
/_assets/* |
なし | CSS, 画像 |
/docs/* |
なし | 公開ナレッジ |
/<project>/* |
Basic | プロジェクト別認証 |
| 上記以外 | 404 | 公開しない |
.auth.yml は git に絶対コミットしない (chmod 600)# サーバ生存確認
curl -sI http://127.0.0.1:7050/
# ngrok トンネル確認
./tunnel.sh status
# ngrok agent 自体確認
curl -sf http://127.0.0.1:4040/api/tunnels | jq '.tunnels[].public_url'
/sada/... のように)/_assets/ や /docs/ 配下は公開なので認証なしusername:password で base64 エンコード