fromis_9/docker-compose.dev.yml
caadiq 19ba8bcddf refactor: Express에서 Fastify로 백엔드 마이그레이션
- Express → Fastify 5 프레임워크 전환
- 플러그인 기반 아키텍처로 재구성
  - plugins/db.js: MariaDB 연결 풀
  - plugins/redis.js: Redis 클라이언트
  - plugins/scheduler.js: 봇 스케줄러 (node-cron)
- 봇 설정 방식 변경: DB 테이블 → 설정 파일 (config/bots.js)
- 봇 상태 저장: DB → Redis
- YouTube/X 봇 서비스 분리 및 개선
- 날짜 유틸리티 KST 변환 수정
- 미사용 환경변수 정리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 21:11:02 +09:00

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
# 백엔드 - Fastify API 서버
fromis9-backend:
image: node:20-alpine
container_name: fromis9-backend
working_dir: /app
command: sh -c "apk add --no-cache ffmpeg && npm install && npm run dev"
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