
ユーザーより先にメールサーバーがブラックリストに登録されていることを把握しましょう。IPアドレスとドメインのセルフホスト型監視:DNSブラックリスト、SSLとドメインの有効期限、SPF/DKIM/DMARC、稼働時間をアラート付きで監視します。
ユーザーより先に、メールサーバーがブラックリストに登録されていることを把握しましょう。
運用中のIPとドメインのためのセルフホスト型モニタリング: 24のDNSブラックリスト、SSLとドメインの有効期限、SPF/DKIM/DMARC、稼働状況を監視し、変化があればアラートを通知します。

git clone https://github.com/bekkaze/abusebox.git && cd abusebox
docker compose up -d
http://localhost:3000 を開き、docker compose exec backend cat /app/data/initial_admin_password で取得したパスワードを使って admin としてサインインし、その後 Settings でパスワードを変更してください。その他のオプションはインストールを参照してください。
AbuseBox がバウンスを 1 つでも防いだなら、スターが他のメール運用者の目に留まる助けになります。
モニタリング
チェック
日々の運用
git clone https://github.com/bekkaze/abusebox.git
cd abusebox
cp backend/.env.example .env # optional: alerts, API keys, admin account
docker compose up -d # pulls the prebuilt images (add --build to build from source)
http://localhost:3000 を開けばすぐに使えます。
初回サインイン: ユーザーは
adminで、初回起動時にランダムなパスワードが生成されます。docker compose exec backend cat /app/data/initial_admin_passwordで読み取ってください。バックエンドのログにはファイル名が記録されますが、パスワード自体は出力されなくなったため、誰かと共有したログからアカウントを乗っ取られることはありません。サインイン後すぐに設定で変更してください。変更すると保存されたコピーは削除されます。自分でパスワードを決めたい場合は、初回起動前に.envでDEFAULT_ADMIN_PASSWORDを設定してください。データパスが書き込み可能でない場合、アカウントは作成されず、ログにはパスワードを書き込む代わりにその旨が記録されます。UI は任意のホスト名で応答するため、別のマシンからすぐに開くことができます。信頼できないネットワークに公開する前に、自前の HTTPS リバースプロキシの背後に置いてください。
前提条件: Python 3.11+、Node.js 20.19+、Yarn
バックエンド:
cd backend
cp .env.example .env
pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8100 --reload
最初の起動時に管理者パスワードが生成され、データベースの隣に initial_admin_password として保存されます。このターミナルには正確なパスが表示されます。
フロントエンド (新しいターミナル):
cd frontend
cp .env.example .env
yarn install
yarn dev
http://localhost:3000 を開きます。
frontend/.env は開発サーバーを設定します。VITE_BASE_URL は /api のプロキシ先バックエンド(デフォルト http://localhost:8100)、VITE_ALLOWED_HOSTS は応答するホスト名(デフォルト localhost,127.0.0.1)です。Docker イメージはどちらも使用しません。ビルド済み UI を nginx で配信し、/api を BACKEND_URL にプロキシします。
Unraid の Community Applications 用テンプレートは templates/unraid/ にあります。AbuseBox は 2 つのコンテナとして動作するため、両方をインストールします。
abusebox-backend.xml と abusebox-frontend.xml をサーバーの /boot/config/plugins/dockerMan/templates-user/ にコピーします(または Docker → Template repositories にこのリポジトリを追加します)。/mnt/user/appdata/abusebox)に設定し、Allowed browser origins を AbuseBox を開くアドレス(例: http://192.168.1.10:3000)に設定します。http://192.168.1.10:8100)に設定します。localhost は使用しないでください。フロントエンドコンテナ自身を指してしまいます。http://<your-server>:3000 を開きます。管理者パスワードは選択したデータパス内の initial_admin_password にあります。AbuseBox-Backend のログにファイル名が記載されています。Docker → AbuseBox-Backend → Console で cat /app/data/initial_admin_password を実行するか、SMB 経由で共有から読み取ります。Unraid には同梱のリゾルバがないため、Blacklist resolvers はデフォルトで空になり、サーバー自身のリゾルバが使用されます。ブラックリストに「No answer」と表示される場合は、「No answer」と表示されるブラックリストを参照してください。
templates/portainer/ にはアプリテンプレートと自己完結型の compose ファイル(ビルドコンテキストなし、バインドマウントなし)があります。
https://raw.githubusercontent.com/bekkaze/abusebox/main/templates/portainer/template.json に設定し、App Templates から AbuseBox をデプロイします。https://github.com/bekkaze/abusebox、compose パスに templates/portainer/docker-compose.yml を指定します。Allowed browser origins を AbuseBox を開くアドレスに設定し、http://<your-server>:3000 にアクセスします。管理者パスワードは、Portainer でバックエンドコンテナの Console を開き、cat /app/data/initial_admin_password を実行して確認します。
templates/casaos/docker-compose.yml は自己完結型の CasaOS アプリです。
+)を開き、Import を選択してファイルの内容を貼り付けます。APP_CORS_ALLOWED_ORIGINS を AbuseBox を開くアドレス(例: http://192.168.1.10:3000)に設定します。設定しないとブラウザが API 呼び出しをブロックします。データは /DATA/AppData/abusebox/data に保存されます。管理者パスワードはそのフォルダ内の initial_admin_password にあり、CasaOS のファイルマネージャーで開くことができます。
docker compose pull && docker compose up -d