← Back to list

docker-ops
by ystk-kai
⭐ 0🍴 0📅 Dec 19, 2025
SKILL.md
name: docker-ops description: Obsidian LiveSync の Docker Compose 環境を操作・トラブルシューティングします。compose.yaml の構成理解、環境変数(.env)の設定、CouchDB と livesync-proxy のヘルスチェック、バックアップサービスの実行、ログ確認とデバッグを行います。Docker 環境の起動・停止、コンテナの状態確認、トラブルシューティングを依頼されたときに使用してください。
Docker Operations for Obsidian LiveSync
Overview
このスキルは、Obsidian LiveSync の Docker Compose 環境の操作とトラブルシューティングを支援します。
サービス構成
services:
couchdb: # CouchDB 3.x データベース
livesync-proxy: # Rust HTTP プロキシ
backup: # 手動バックアップ(profilesで制御)
backup-scheduler: # 定期バックアップスケジューラ
Instructions
1. compose.yaml の構成
CouchDB サービス:
couchdb:
build: ./couchdb
volumes:
- couchdb_data:/opt/couchdb/data
- ./couchdb/local.ini:/opt/couchdb/etc/local.ini:rw
environment:
COUCHDB_USER: ${COUCHDB_USER}
COUCHDB_PASSWORD: ${COUCHDB_PASSWORD}
ports:
- "${HOST_COUCHDB_PORT}:5984"
healthcheck:
test: ["CMD", "curl", "-f", "-u", "${COUCHDB_USER}:${COUCHDB_PASSWORD}", "http://localhost:5984/_up"]
livesync-proxy サービス:
livesync-proxy:
build: ./livesync-proxy
depends_on:
- couchdb
environment:
COUCHDB_URL: http://couchdb:5984/
RUST_LOG: info,livesync_proxy=debug
ports:
- "${HOST_PROXY_PORT}:3000"
backup サービス(手動実行):
backup:
profiles:
- manual # docker compose run backup で実行
volumes:
- couchdb_data:/data:ro
2. 環境変数(.env.example 参照)
| 変数 | 説明 | デフォルト |
|---|---|---|
COMPOSE_PROJECT_NAME | プロジェクト名 | obsidian-sync |
HOST_COUCHDB_PORT | CouchDB ホストポート | 5984 |
HOST_PROXY_PORT | プロキシ ホストポート | 3000 |
COUCHDB_USER | CouchDB ユーザー名 | admin |
COUCHDB_PASSWORD | CouchDB パスワード | (要変更) |
COUCHDB_DBNAME | データベース名 | obsidian |
BACKUP_SCHEDULE | バックアップ CRON | 0 2 * * * |
BACKUP_GIT_REPO | バックアップ先リポジトリ | - |
BACKUP_GIT_TOKEN | Git 認証トークン | - |
RUST_LOG | ログレベル | info |
初期設定:
cp .env.example .env
# .env を編集して COUCHDB_PASSWORD を変更
3. ヘルスチェックとトラブルシューティング
サービス状態確認:
# コンテナ状態
docker compose ps
# CouchDB ヘルスチェック
curl -u admin:password http://localhost:5984/_up
# プロキシ ヘルスチェック
curl http://localhost:3000/health
ログ確認:
# 全サービスのログ
docker compose logs -f
# 特定サービス
docker compose logs -f livesync-proxy
docker compose logs -f couchdb
# 最新50行
docker compose logs --tail=50 livesync-proxy
よくある問題と解決策:
| 症状 | 原因 | 解決策 |
|---|---|---|
| CouchDB に接続できない | 認証情報の不一致 | .env の COUCHDB_USER/PASSWORD 確認 |
| プロキシが起動しない | CouchDB 未起動 | docker compose up couchdb を先に実行 |
| ポート競合 | ポート使用中 | HOST_PROXY_PORT / HOST_COUCHDB_PORT 変更 |
| データが消えた | ボリューム削除 | docker compose down に -v を付けない |
4. バックアップサービスの使い方
手動バックアップ:
docker compose run backup
スケジューラ起動(定期バックアップ):
docker compose up -d backup-scheduler
バックアップ設定:
BACKUP_SCHEDULE=0 2 * * * # 毎日午前2時
BACKUP_RUN_ON_STARTUP=false # 起動時実行
BACKUP_GIT_REPO=https://github.com/...
BACKUP_GIT_TOKEN=github_pat_xxx
Examples
開発環境の起動
# 初回セットアップ
cp .env.example .env
# .env を編集
# ビルドして起動
docker compose up --build
# バックグラウンド起動
docker compose up -d
# 停止
docker compose down
# データを含めて完全削除(注意)
docker compose down -v
デバッグモードでの起動
# 詳細ログ有効化
RUST_LOG=debug docker compose up livesync-proxy
CouchDB 直接アクセス
# データベース一覧
curl -u admin:password http://localhost:5984/_all_dbs
# obsidian データベースの情報
curl -u admin:password http://localhost:5984/obsidian
Reference
エンドポイント
http://localhost:3000/db- LiveSync 接続 URI(Obsidian プラグイン設定用)http://localhost:3000/health- ヘルスチェックhttp://localhost:3000/metrics- Prometheus メトリクスhttp://localhost:3000/api/status- サーバーステータスhttp://localhost:5984/_up- CouchDB ヘルスチェック
ファイル
compose.yaml- Docker Compose 設定.env.example- 環境変数テンプレートcouchdb/local.ini- CouchDB 設定
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon