CasaOSでRedisを実行する現在最も安全な方法は、永続データボリュームを備え、認証とネットワークへの公開範囲を明示的に設定したDockerコンテナとして実行することです。Redisの現在のデフォルト設定とセキュリティ要件は変化しているため、2023年のフォーラムチュートリアルをデプロイ手順全体として使うには古すぎます。
公式Redisイメージを使用し、ポート6379をLANまたはDockerネットワーク内に限定して、/dataを永続化し、アプリケーションデータを保存する前にAOF/RDBによる永続化が必要かどうかを判断してください。
公式Redisイメージを使用する
最新のRedis Dockerガイドでは、公式のredis:<version>イメージと標準ポート6379について説明しています。
CasaOSでDocker Composeを使用する
services:
redis:
image: redis:8
container_name: redis
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--requirepass", "CHANGE_ME"]
volumes:
- /DATA/AppData/redis/data:/data
ports:
- "127.0.0.1:6379:6379"
パスワードを変更し、別のホストからRedisへの直接アクセスが本当に必要な場合にのみ、バインドアドレスを調整してください。
/dataを永続化する
ホストボリュームを設定しないと、Redisのデータは破棄可能なコンテナレイヤー内に保存され、コンテナの再作成時に失われる可能性があります。/dataを永続性のあるCasaOSストレージにマウントしてください。
永続化モードを慎重に選ぶ
AOFは書き込みを記録して復旧性を高め、RDBスナップショットはより軽量です。アプリケーションによっては、Redisを一時的なキャッシュとして許容できる場合もあります。Redisの用途に合わせて永続化モードを選択してください。
Redisをインターネットに直接公開しない
ポート6379をインターネットに公開転送しないでください。同じDockerホスト上で別のアプリケーションを実行する場合は、両方のコンテナをプライベートDockerネットワークに配置し、サービス名で接続してください。
認証とACLを使用する
家庭で使う場合は単一の requirepass が簡単ですが、現在のRedisはユーザーやコマンドをより細かく設定できるACLにも対応しています。ネットワークから接続できるRedisインスタンスを、認証なしで公開しないでください。
redis-cliからテストする
docker exec -it redis redis-cli -a CHANGE_ME ping
正常なサーバーは PONG を返します。
永続化されたRedisデータをバックアップする
Redisに重要なデータが保存されている場合は、書き込みを停止または調整し、選択したRDB/AOF方式に従って永続ボリュームをバックアップしてください。コンテナの再起動がバックアップと同じだと考えないでください。
DockerデプロイガイドはCasaOSのカスタムアプリにも同様に適用できます。
本番環境で使う前にメモリ制限を確認する
Redisはメモリを優先して使うソフトウェアです。キー数が少ないから使用量も少ないと決めつけず、実際のデータセットサイズとホストのRAMを確認してください。複数のサービスで共有するCasaOSホストでは、アプリケーションがキーの削除にどう反応するかを理解してから、意図的に maxmemory ポリシーを設定することを検討してください。
アプリの依存サービスにはプライベートDockerネットワークを使う
自動化プラットフォームやWebアプリなど、別のコンテナのためだけにRedisを使う場合は、両方のサービスを同じプライベートDockerネットワークに配置し、ホストポートを公開しないでください。アプリケーションはサービス名 redis:6379 で接続できます。
コンテナ再作成後に永続性を確認する
初期設定後にテスト用のキーを書き込み、同じボリュームを使ってコンテナを再作成し、そのキーが引き続き利用できることを確認します。この簡単なテストにより、重要なアプリケーションが依存する前に、ホストパスが実際に永続化されていることを確認できます。
よくある質問
Redisが使用するポートは何番ですか?
デフォルトでは6379番ポートです。
6379番ポートをすべてのインターフェースにマッピングすべきですか?
いいえ。必要な場所だけにバインドし、できればローカルホストかプライベートなDocker/LANパスに限定してください。
Redisのデータはどこに保存すればよいですか?
コンテナの /data ディレクトリを永続化するCasaOSのストレージにマウントします。
RedisInsightは必要ですか?
いいえ。管理用のオプションUIです。Redis自体はなくても動作します。



