最も可能性の高い解決策:現在の Duplicati Docker では、UI パスワードに DUPLICATI__WEBSERVICE_PASSWORD(アンダースコア2つ)を使用します。SETTINGS_ENCRYPTION_KEY はデータベース内の機密設定を暗号化するためのもので、ブラウザーに入力するパスワードではありません。
2つの変数を別々の目的で使用する
environment:
SETTINGS_ENCRYPTION_KEY: "long-random-key"
DUPLICATI__WEBSERVICE_PASSWORD: "your-ui-password"
Duplicati のDocker シークレット変数のドキュメントでは、この使い分けが説明されています。
環境変数を編集した後に再作成する
実行中のコンテナには、起動時に設定された環境変数が保持されます。Compose の値を変更した後は、コンテナを再作成してください。
docker compose up -d --force-recreate
次に、シークレットの値を表示せずに変数名を確認します。
docker inspect duplicati --format '{{range .Config.Env}}{{println .}}{{end}}' | grep -E 'DUPLICATI|SETTINGS'
ホスト名による保護を確認する
直接 IP アクセスは機能するのに、ホスト名やリバースプロキシ経由では失敗する場合は、許可するホスト名を設定します。
DUPLICATI__WEBSERVICE_ALLOWED_HOSTNAMES=backup.example.com
ワイルドカードの * を指定すると保護が無効になります。推奨されるデフォルト設定ではありません。
暗号化と認証を混同しない
SETTINGS_ENCRYPTION_KEY は、Duplicati のデータベースに保存された認証情報を保護します。移行後に暗号化された設定を利用できなくなる可能性があるため、このキーは安全にバックアップしてください。
ログインできない場合
- 古い競合するパスワード変数がないか確認する。
- コンテナを再作成した後にログを確認する。
- プロキシを経由せず、LAN の直接 IP でテストする。
- ブラウザーが想定したコンテナとポートに接続していることを確認する。
- 最初の対処として Duplicati のデータベースを削除しない。
バックアップと同期のワークフローは、バックアップと同期の違いを見分けるのに役立ちます。ZimaOS アプリカタログでは、バックアップツールを比較できます。
複数ドライブのバックアップストレージには、ZimaCube 2が適したハードウェアプラットフォームです。
アンダースコア2つが重要な理由
Duplicati は、オプションのプレフィックスを DUPLICATI__ に置き換えることで、コマンドラインオプションを環境変数に変換します。見た目が似ていても、アンダースコアが1つの変数は同じ設定ではありません。意図した認証オプションが適用されていなくても UI 自体は読み込まれるため、これはコンテナでよく起きる問題です。
CasaOS のフォームだけでなく、実際のコンテナを確認する
CasaOS には入力した値が表示される場合がありますが、決定的な証拠は作成されたコンテナ内の環境変数です。実行中の設定を確認し、想定した変数名が表示されていることを確認してから、再起動または再作成してください。
ログインを試す間、ログを監視する
docker logs -f duplicati
1回ログインを試し、ホスト名の拒否、認証失敗、データベースエラー、起動時の警告がないか確認します。これにより、間違ったパスワードなのか、プロキシや Host ヘッダーの問題なのかを切り分けられます。
リバースプロキシの前に直接 IP でテストする
一時的に、CasaOS ホストの LAN IP と公開ポートを使って Duplicati にアクセスします。ドメインでは機能しないのにこちらで機能する場合は、認証情報をリセットするのではなく、許可するホスト名とリバースプロキシのヘッダーに注目してください。
移行時に暗号化キーを保持する
暗号化キーは、バックエンドの認証情報など、保存された設定を保護します。サーバーとは別に、パスワードマネージャーなどの安全な場所へ保存してください。保護対象のマシンにしか自身の秘密情報が保存されていないバックアップシステムは、復旧できなくなる危険があります。
最初から破壊的なパスワード修正を行わない
Duplicati のデータベースを削除すると、バックアップジョブの設定や履歴が失われる可能性があります。データベースのリセットや再インストールを検討する前に、環境変数、実行中のコンテナの状態、ホスト名、ログを確認してください。
よくある質問
SETTINGS_ENCRYPTION_KEY はログインパスワードですか?
いいえ。Web UI の認証には DUPLICATI__WEBSERVICE_PASSWORD を使用します。
変更したパスワードが反映されなかったのはなぜですか?
古いコンテナに以前の環境変数が残っている可能性があります。コンテナを再作成してください。
