アウトポストのデプロイ
サーバーまたは NAS で アウトポスト を実行して、選択した電子メール フォルダーから通知を受信します。推奨される Compose インストールには Docker に加えて Docker Compose v2 が必要です。
利用可能なイメージ: 利用可能なバージョンは GitHub リリース および GHCR にリストされています。
1. インストール方法を選択します
Docker Compose をお勧めします:
インストール、更新、バックアップでは同じ構成が使用されます。イメージは
ghcr.io/mingzaily/mailwake:latest 、Linux amd64 / arm64
用です。
latest
は安定版リリースに続きます。バージョンを固定するには、latest
をリリースから公開されたタグに置き換えます。
サーバー端末で:
mkdir -p ~/mailwake
cd ~/mailwake
この完全な構成を使用して、そのディレクトリに
compose.yaml を作成します。
services:
core:
image: ghcr.io/mingzaily/mailwake:latest
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
environment:
MAILWAKE_LISTEN: "0.0.0.0:8080"
MAILWAKE_DATA_DIR: "/data"
MAILWAKE_RELAY_URL: "${MAILWAKE_RELAY_URL:-}"
volumes:
- core-data:/data
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
stop_grace_period: 30s
volumes:
core-data:
イメージをプルして アウトポスト を開始します。
docker compose pull core
docker compose up -d
docker compose ps
docker compose logs --tail=50 core
結果を確認してください: core は
Up /
running を示し、ログには初期セットアップ
コードが含まれています。次のステップのために端末を使用できるようにしてください。今後の
Compose コマンドは ~/mailwake から実行します。
core-data Docker ボリュームには
/data
が格納されます。このディレクトリ名を使用すると、デフォルトの Docker
名は
mailwake_core-data
になります。コンテナを再作成すると、コンテナが保持されます。
docker compose down -v
はボリュームとその内容を削除します。
ドッカーラン
単一のコマンドを使用したい場合は、この同等のインストールを選択してください。インスタンスに対して 1 つのインストール方法を使用してください。
docker volume create mailwake-data
docker run -d \
--name mailwake \
--restart unless-stopped \
--stop-timeout 30 \
--read-only \
--security-opt no-new-privileges:true \
--cap-drop ALL \
-p 127.0.0.1:8080:8080 \
-v mailwake-data:/data \
ghcr.io/mingzaily/mailwake:latest
docker logs --tail=50 mailwake
このインストールでは、mailwake-data
ボリュームを使用します。次の管理コマンドは Compose
を使用します。代替案については、Docker Run のバックアップ手順
を参照してください。
2. コンソールを開きます
Docker ホスト上: http://127.0.0.1:8080 を開きます。
リモート サーバーまたは NAS の場合:
自分のコンピュータで次のコマンドを実行します。user@server
をサーバーの SSH ユーザーとアドレスに置き換えます。
ssh -L 18080:127.0.0.1:8080 user@server
接続を開いたままにして、コンピューター上で http://127.0.0.1:18080 にアクセスします。これだけで初期設定は完了します。ドメイン経由で継続的にアクセスしたい場合は、以下で HTTPS を設定します。
結果を確認してください: Mailwake 設定画面が開きます。ログからセットアップ コードを入力し、12 文字以上の管理者パスワードを作成します。セットアップ前に アウトポスト を再起動すると、新しいセットアップ コードが生成されます。
最初の通知 に進み、メールボックスと通知チャネルを接続します。
3.HTTPSの設定
ドメインをサーバーにポイントし、
http://127.0.0.1:8080 に転送するようにリバース
プロキシを構成します。同じホストにインストールされている Caddy
の場合、ドメインを Caddyfile に追加します。
mail.example.org {
reverse_proxy 127.0.0.1:8080
}
DNS を確認し、受信ポート 80 / 443 を許可してから、検証してリロードします。
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
https://mail.example.org
を開き、証明書が有効であることを確認し、サインインしてメールボックスを開くことができることを確認します。
Caddy をインストールするには、公式 Caddy インストールガイド
を参照してください。 Nginx Proxy Manager などのプロキシ
パネルで、ドメインと転送アドレスを入力し、パネルで証明書を要求します。
別のコンテナ内のプロキシの場合は、それを アウトポスト の Docker
ネットワークに参加させ、
http://core:8080 に転送します。その
127.0.0.1 はそれ自体を指します。元のホストを保持し、
X-Forwarded-For を設定します。 アウトポスト
は、ループバック ネットワークとプライベート
ネットワークからのプロキシ情報を受け入れます。ポート 8080
をプロキシと信頼できるローカル クライアントにのみ公開します。
4.アウトポストを更新する
バックアップ を完了し、Compose ディレクトリで実行します。
docker compose pull core
docker compose up -d
docker compose ps
docker compose logs --tail=50 core
固定バージョンの場合は、最初に compose.yaml のイメージ
タグを変更します。コンソールを開き、メールボックスの監視を確認し、新しい電子メールを送信して配信を確認します。アップデート前のバックアップを保管しておいてください。ロールバックするには、復元チュートリアルを使用して、そのデータとそれに一致するイメージの両方を復元します。
5. トラブルシューティング
コンテナイメージを取得できない
GHCR に要求されたバージョンが含まれているかどうかを確認します。
manifest unknown
は通常、タグが欠落していることを意味します。イメージ
アドレスとパッケージの可視性で
denied エラーがないか、サーバーの GHCR
への接続でタイムアウトがないか確認してください。
コンソールが開かない
127.0.0.1
は、使用しているコンピューターを指します。リモート インストールには
SSH トンネルまたは HTTPS ドメインを使用します。まず
docker compose ps と
docker compose logs --tail=50 core を確認してください。
8080 が占有されている場合は、マッピングを
127.0.0.1:18080:8080 に変更し、ブラウザーとリバース
プロキシでホスト ポート 18080 を使用します。
管理者パスワードをリセットする
Compose ディレクトリで実行し、ターミナル プロンプトで新しいパスワードを入力します。
docker compose stop core
docker compose run --rm -it core admin reset-password
docker compose start core
回復コマンドはデータ ディレクトリ ロックを取得するため、最初にアウトポストを停止します。パスワードをリセットすると、ブラウザ セッションが取り消され、API トークン、メールボックス、キューが保存されます。
公式アプリとProを接続します
Free Web コンソールと Bark / Pushover / Webhook 配信は独立して動作します。公式アプリの場合、HTTPS とペアリングについては アプリの統合 に従ってください。
ソース ビルドとローカル開発については、 開発ガイド で説明されています。
ソースのビルドとプロセス設定
開発ビルドの場合は、 ソースリポジトリの README および コントリビューター ビルド ガイド に従ってください。
MAILWAKE_LISTEN は、Docker の外部ではデフォルトで
127.0.0.1:8080 になります。コンテナーは
0.0.0.0:8080 を使用します。
MAILWAKE_DATA_DIR のデフォルトは
data です。コンテナは /data を使用します。
MAILWAKE_RELAY_URL のデフォルトは
https://notify.mailwake.oritx.com
です。再起動およびアップグレード後も、
secret.key を含む完全なデータ
ディレクトリを保持します。
プッシュ配信環境を変える
実稼働環境とサンドボックスでは、別個のペアリング ID が使用されます。意図的に環境を変更するには、アウトポスト を停止し、既存のデータ ディレクトリと以前のプッシュ配信サービスの保存されたアドレスに対してリセットを実行します。
docker compose stop core
docker compose run --rm -it core admin reset-native-push
プロンプトが表示されたら、「reset-native-push」と入力します。このコマンドは、古いプッシュ配信サービスでのペアリングを取り消します。そのサービスに到達できない場合は、古い構成を保持し、到達可能になったときに再試行します。未解決のターゲットがゼロであることを確認したら、新しい
MAILWAKE_RELAY_URL を設定し、
docker compose up -d および
再度ペアリングします
を使用してアウトポストを再作成します。このコマンドは、アウトポストの署名
ID と通常のチャネルの履歴を保存します。
Markdown · AGPL-3.0-only · Mailwake コントリビューター