File tree Expand file tree Collapse file tree 1 file changed +28
-27
lines changed
Expand file tree Collapse file tree 1 file changed +28
-27
lines changed Original file line number Diff line number Diff line change 11#! /bin/sh
22set -e
33
4- # Redis 서버를 백그라운드에서 시작
5- redis-server --daemonize yes
6-
7- # Redis가 완전히 시작될 때까지 대기
8- sleep 5
9-
10- # 환경변수를 사용하여 ACL 사용자 생성
11- # 컨테이너 내부에서 실행되므로 env_file로 주입된 환경변수 사용 가능
12- if [ -n " $REDIS_USER " ] && [ -n " $REDIS_PASSWORD " ]; then
13- # heredoc을 사용하여 비밀번호 노출 방지
14- if redis-cli << EOF
15- ACL SETUSER $REDIS_USER on >$REDIS_PASSWORD allkeys allcommands
16- ACL SAVE
17- EOF
18- then
19- echo " Redis ACL user created and saved: $REDIS_USER "
20- else
21- echo " Error: Failed to create Redis ACL user"
22- exit 1
23- fi
24- else
25- echo " Warning: REDIS_USER or REDIS_PASSWORD not set"
26- echo " Error: Redis credentials are required"
4+ echo " Starting Redis initialization..."
5+
6+ # 환경변수 확인
7+ if [ -z " $REDIS_USER " ] || [ -z " $REDIS_PASSWORD " ]; then
8+ echo " Error: REDIS_USER or REDIS_PASSWORD not set"
279 exit 1
2810fi
2911
30- # ACL 설정이 완료되었으므로 Redis를 안전하게 종료
12+ echo " REDIS_USER: $REDIS_USER "
13+
14+ # Redis를 설정 파일과 함께 백그라운드 시작
15+ redis-server --daemonize yes --dir /data --aclfile /data/users.acl
16+
17+ # 시작 대기
18+ sleep 8
19+
20+ # ACL 사용자 생성
21+ echo " Creating ACL user..."
22+ redis-cli ACL SETUSER " $REDIS_USER " on " >$REDIS_PASSWORD " allkeys allcommands
23+
24+ # ACL 설정을 파일에 저장 (이제 가능!)
25+ redis-cli ACL SAVE
26+ echo " ACL saved to /data/users.acl"
27+
28+ # 확인
29+ redis-cli ACL LIST
30+
31+ # Redis 종료
3132redis-cli shutdown
32- # Redis가 완전히 종료될 때까지 대기
3333sleep 2
3434
35- # 포그라운드로 Redis 재시작 (컨테이너가 종료되지 않도록)
36- exec redis-server
35+ # 재시작 시에도 ACL 파일 사용
36+ echo " Starting Redis with ACL configuration..."
37+ exec redis-server --dir /data --aclfile /data/users.acl
You can’t perform that action at this time.
0 commit comments