- MariaDB 테이블 추가 (search_queries, word_pairs) - Redis 컨테이너 추가 (Sorted Set 캐싱) - 백엔드 suggestions 서비스 및 API 구현 - 검색 실행 시 검색어 저장 (bi-gram 학습) - PC Schedule 프론트엔드 연동 완료
60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
services:
|
|
# 프론트엔드 - Vite 개발 서버
|
|
fromis9-frontend:
|
|
image: node:20-alpine
|
|
container_name: fromis9-frontend
|
|
labels:
|
|
- "com.centurylinklabs.watchtower.enable=false"
|
|
working_dir: /app
|
|
command: sh -c "npm install && npm run dev -- --host 0.0.0.0 --port 80"
|
|
volumes:
|
|
- ./frontend:/app
|
|
networks:
|
|
- app
|
|
- db
|
|
restart: unless-stopped
|
|
|
|
# 백엔드 - Express API 서버
|
|
fromis9-backend:
|
|
image: node:20-alpine
|
|
container_name: fromis9-backend
|
|
working_dir: /app
|
|
command: sh -c "npm install && node server.js"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- PORT=3000
|
|
volumes:
|
|
- ./backend:/app
|
|
networks:
|
|
- app
|
|
- db
|
|
restart: unless-stopped
|
|
|
|
# Meilisearch - 검색 엔진
|
|
meilisearch:
|
|
image: getmeili/meilisearch:v1.6
|
|
container_name: fromis9-meilisearch
|
|
environment:
|
|
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
|
|
volumes:
|
|
- ./meilisearch_data:/meili_data
|
|
networks:
|
|
- app
|
|
restart: unless-stopped
|
|
|
|
# Redis - 추천 검색어 캐시
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: fromis9-redis
|
|
volumes:
|
|
- ./redis_data:/data
|
|
networks:
|
|
- app
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
app:
|
|
external: true
|
|
db:
|
|
external: true
|