Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 33 additions & 9 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,56 @@
services:
alloon:
backend:
container_name: backend
restart: always
env_file:
- docker/.env
build:
context: docker
dockerfile: Dockerfile
context: .
dockerfile: docker/Dockerfile
ports:
- "8080:8080"
depends_on:
- db
- mem-db
- redis
- redis-init
environment:
- TZ=Asia/Seoul
networks:
- app-network
db:
image: postgres:latest
container_name: postgres-db
restart: always
ports:
- "5432:5432"
volumes:
- ./docker/init.sql:/docker-entrypoint-initdb.d/init.sql
- ./docker/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres!2#
POSTGRES_DB: allon_server
mem-db:
POSTGRES_DB: photi_local_db
networks:
- app-network
redis:
image: redis:latest
container_name: redis-db
restart: always
ports:
- "6379:6379"
networks:
- app-network
redis-init:
image: redis:latest
container_name: redis-init
restart: "no"
depends_on:
- redis
entrypoint: [ "bash", "-c", "/init/redis-init.sh" ]
volumes:
- ./docker/redis-init.sh:/redis-init.sh
command: [ "sh", "-c", "redis-server --daemonize yes && sleep 3 && bash /redis-init.sh && tail -f /dev/null" ]
- ./docker/redis-init.sh:/init/redis-init.sh:ro
networks:
- app-network

networks:
app-network:
driver: bridge
43 changes: 24 additions & 19 deletions docker/redis-init.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
#!/bin/bash
echo "Waiting for Redis to start..."
until redis-cli ping | grep -q "PONG"; do
echo "Redis is not ready yet. Waiting..."
sleep 1
set -e

echo "[INFO] Initializing Redis data..."

declare -A hashtags=(
["러닝"]=10
["게임"]=20
["건강식"]=15
["챌린지"]=5
["개발"]=7
["코틀린"]=9
["iOS"]=25
["안드로이드"]=15
["스프링"]=50
["디자인"]=36
)

for tag in "${!hashtags[@]}"; do
score="${hashtags[$tag]}"
redis-cli -h redis ZADD popular:hashtags "$score" "$tag"
done

echo "Redis initialization..."
redis-cli <<EOF
ZADD popular:hashtags 10 "러닝"
ZADD popular:hashtags 20 "게임"
ZADD popular:hashtags 15 "건강식"
ZADD popular:hashtags 5 "챌린지"
ZADD popular:hashtags 7 "개발"
ZADD popular:hashtags 9 "코틀린"
ZADD popular:hashtags 25 "iOS"
ZADD popular:hashtags 15 "안드로이드"
ZADD popular:hashtags 50 "스프링"
ZADD popular:hashtags 36 "디자인"
ZRANGE popular:hashtags 0 -1 WITHSCORES
EOF
echo "Redis initialization completed."
echo "[INFO] Initialized hashtags:"
redis-cli -h redis ZRANGE popular:hashtags 0 -1 WITHSCORES

echo "[INFO] Redis initialization completed successfully"
3 changes: 3 additions & 0 deletions src/main/resources/application-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ spring:
ddl-auto: none
flyway:
enabled: false
data:
redis:
host: ${SPRING_REDIS_HOST}

cloud:
aws:
Expand Down