日本語
概要¶
WebMoniter は Python、FastAPI、APScheduler をベースにしたタスクシステムです。次の機能を一元管理できます。
- Huya、Weibo、Bilibili、Douyin、Douyu、Xiaohongshu のプラットフォーム監視。
- Weibo Cookie 更新、iKuuu、Tieba、Weibo Super Topic、Rainyun、Aliyun Drive、Freenom、天気通知など、30 種類の定期チェックイン/通知タスク(加えて
demo_taskサンプル;一覧はsrc/jobs/metadata.pyのTASK_SPECS)。 - WeCom、DingTalk、Feishu、Telegram、Bark、WxPusher、メールなど、18 種類の通知チャネル。
- 設定、タスク、データ、ログ、パスワードを管理するレスポンシブ Web UI。ナビゲーション、ツールバー、ダイアログ、操作部品には Liquid Glass スタイルを採用し、デスクトップのサイドバー、モバイルの下部ナビゲーション、キーボード操作、動き/透明度を抑える設定に対応します。
設定はホットリロードに対応しており、config.yml の変更は通常約 5 秒以内に反映されます。
主な機能¶
画面と機能の詳細はドキュメントトップおよび Web 管理画面ガイドを参照してください。
対応プラットフォーム、タスク、通知チャネルを表示
### 対応プラットフォーム | プラットフォーム | `type` | 投稿 | 配信開始/終了 | |:--:|:--:|:--:|:--:| | Huya | `huya` | いいえ | はい | | Weibo | `weibo` | はい | いいえ | | Bilibili | `bilibili` | はい | はい | | Douyin | `douyin` | いいえ | はい | | Douyu | `douyu` | いいえ | はい | | Xiaohongshu | `xhs` | はい | いいえ | ### 定期タスク(一部) | タスク | 設定キー | デフォルト時刻 | |:--:|:--:|:--:| | ログ削除 | `log_cleanup` | 02:10 | | Weibo Cookie 更新 | `weibo` | 21:00 | | iKuuu チェックイン | `checkin` | 08:00 | | Rainyun チェックイン | `rainyun` | 08:30 | | Tieba チェックイン | `tieba` | 08:10 | | Weibo Super Topic | `weibo_chaohua` | 23:45 | | Aliyun Drive | `aliyun` | 05:30 | | 天気通知 | `weather` | 07:30 | ### 通知チャネル(一部) | チャネル | `type` | リッチコンテンツ | |:--:|:--:|:--:| | WeCom グループ Bot | `wecom_bot` | はい | | DingTalk Bot | `dingtalk_bot` | はい | | Feishu Bot | `feishu_bot` | いいえ | | Telegram | `telegram_bot` | はい | | WxPusher | `wxpusher` | はい | | Bark | `bark` | いいえ | | PushPlus | `pushplus` | はい |クイックスタート¶
Docker¶
軽量版の latest イメージは、多くの監視タスクと HTTP チェックインに適しています。full イメージにはブラウザと関連依存関係が追加されており、Weibo Cookie 更新、iKuuu、Rainyun など Web ログインが必要なタスクに使用します。
Docker Compose で軽量版を起動(推奨)
git clone https://github.com/666fy666/WebMoniter.git
cd WebMoniter
cp config/config.yml.sample config.yml
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml up -d
docker compose -f docker/docker-compose.yml logs -f
docker compose -f docker/docker-compose.yml stop
docker compose -f docker/docker-compose.yml start
docker compose -f docker/docker-compose.yml restart
docker compose -f docker/docker-compose.yml down
http://localhost:8866 を開きます。初期アカウントは admin / 123 です。初回ログイン後に必ずパスワードを変更してください。
ブラウザを使用するタスクでは完全版を起動します。
docker compose -f docker/docker-compose.full.yml pull
docker compose -f docker/docker-compose.full.yml up -d
docker compose -f docker/docker-compose.full.yml logs -f
docker compose -f docker/docker-compose.full.yml stop
docker compose -f docker/docker-compose.full.yml start
docker compose -f docker/docker-compose.full.yml restart
docker compose -f docker/docker-compose.full.yml down
単一コンテナで起動
軽量版:docker pull fengyu666/webmoniter:latest
docker run -d --name webmoniter --restart unless-stopped \
-p 8866:8866 --shm-size=128m \
-e TZ=Asia/Shanghai \
-v "$(pwd)/config.yml:/app/config.yml" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/logs:/app/logs" \
fengyu666/webmoniter:latest
docker pull fengyu666/webmoniter:full
docker run -d --name webmoniter-full --restart unless-stopped \
-p 8866:8866 --shm-size=256m \
-e TZ=Asia/Shanghai \
-e CHROME_BIN=/usr/bin/chromium \
-e CHROMEDRIVER_PATH=/usr/bin/chromedriver \
-v "$(pwd)/config.yml:/app/config.yml" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/logs:/app/logs" \
fengyu666/webmoniter:full
ローカル実行¶
git clone https://github.com/666fy666/WebMoniter.git
cd WebMoniter
uv python install 3.11
uv venv --python 3.11
uv sync --locked --extra dev --extra rainyun
cp config/config.yml.sample config.yml
uv run python main.py
ブラウザを使用するチェックインが不要な場合は、uv sync --locked --extra dev でコア依存関係と開発用依存関係のみをインストールできます。
Windows パッケージ¶
Releases から WebMoniter-vX.X.X-windows-x64.zip をダウンロードして展開し、config.yml.sample を config.yml としてコピーしてから WebMoniter.exe をダブルクリックします。
Qinglong パネル¶
Qinglong では環境変数で設定し、python -m src.ql <task_id> で定期タスクを実行できます。詳細は Qinglong 互換ガイドを参照してください。
設定¶
メインの設定ファイルはリポジトリ直下の config.yml です。初回はテンプレートから作成します。
cp config/config.yml.sample config.yml
ドキュメント一覧¶
| 項目 | ドキュメント |
|---|---|
| インストール | installation.md |
| Web 管理画面 | guides/web-ui.md |
| タスク設定 | guides/tasks.md |
| 監視タスク | guides/tasks/monitors.md |
| チェックインタスク | guides/tasks/checkin.md |
| 通知チャネル | guides/push-channels.md |
| REST API | API.md |
| アーキテクチャ | ARCHITECTURE.md |
| 二次開発 | SECONDARY_DEVELOPMENT.md |
| よくある質問 | faq.md |
開発
uv sync --extra dev --extra rainyun
uv run ruff check .
uv run black --check .
uv run pytest -q
謝辞¶
チェックインおよび通知の一部は、次のプロジェクトを参考にしています。