현재 CasaOS에서 Redis를 실행하는 가장 안전한 방법은 영구 데이터 볼륨을 사용하는 Docker 컨테이너로 실행하고, 인증 및 네트워크 노출을 명시적으로 설정하는 것입니다. 2023년 포럼 튜토리얼은 너무 오래되어 전체 배포 가이드로 사용하기 어렵습니다. 최신 Redis의 기본 설정과 보안 요건이 달라졌기 때문입니다.
공식 Redis 이미지로 시작하고, 포트 6379는 LAN 또는 Docker 네트워크 내부에서만 사용할 수 있게 유지하고, /data를 영구 저장소에 연결하세요. 애플리케이션 데이터를 저장하기 전에 AOF/RDB 지속성이 필요한지 결정하세요.
공식 Redis 이미지 사용
최신 Redis Docker 가이드에는 공식 redis:<version> 이미지와 표준 포트 6379가 안내되어 있습니다.
CasaOS에서 Docker Compose 사용
서비스:
redis:
이미지: redis:8
컨테이너 이름: redis
재시작: 중지하지 않는 한
명령어: ["redis-server", "--appendonly", "yes", "--requirepass", "CHANGE_ME"]
볼륨:
- /DATA/AppData/redis/data:/data
포트:
- "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 네트워크 사용
Redis가 자동화 플랫폼이나 웹 앱 같은 다른 컨테이너를 위한 용도로만 필요하다면 두 서비스를 동일한 비공개 Docker 네트워크에 배치하고 호스트 포트는 아예 설정하지 마세요. 애플리케이션은 서비스 이름을 사용해 redis:6379에 연결할 수 있습니다.
컨테이너를 다시 만든 후 영구 저장 여부 확인
초기 설정 후 테스트 키를 작성하고, 동일한 볼륨을 사용해 컨테이너를 다시 만든 다음 키가 여전히 있는지 확인하세요. 이 간단한 테스트로 중요한 애플리케이션이 의존하기 전에 호스트 경로가 실제로 영구 저장소인지 확인할 수 있습니다.
자주 묻는 질문
Redis는 어떤 포트를 사용하나요?
기본 포트는 6379입니다.
6379 포트를 모든 인터페이스에 매핑해야 하나요?
아닙니다. 필요한 경우에만 바인딩하고, 가급적 localhost 또는 비공개 Docker/LAN 경로를 사용하세요.
Redis 데이터는 어디에 저장해야 하나요?
컨테이너의 /data 디렉터리를 영구 CasaOS 저장소에 매핑하세요.
RedisInsight가 필요한가요?
아닙니다. 선택 사항인 관리 UI이며, Redis 자체는 UI 없이 작동합니다.



