Docker 배포
Docker Compose를 활용한 TYDRB 배포
Docker Compose를 사용하면 TYDRB를 한 번의 명령으로 실행할 수 있습니다. SQLite + 로컬 파일 스토리지 기반으로, 별도 외부 서비스 없이 단일 컨테이너로 동작합니다.
사전 요구사항
- Docker 24.0 이상
- Docker Compose V2 (Docker Desktop에 포함)
빠른 시작
별도의 설정 파일 없이 바로 실행할 수 있습니다.
# 이미지 빌드
docker compose build
# 실행
docker compose up -d브라우저에서 http://localhost:8080에 접속하면 Setup Wizard가 표시됩니다.
마법사에서 기관 정보, 관리자 계정, 시스템 설정을 입력하면 자동으로 초기화됩니다.
# 로그 확인
docker compose logs -f tydrb
# 중지
docker compose downtydrb-data 볼륨에 데이터베이스(SQLite)와 업로드 파일이 저장됩니다.
설정 파일 마운트
Setup Wizard 대신 미리 준비한 설정 파일을 사용하려면 docker-compose.yml의 tydrb 서비스에 볼륨을 추가합니다:
services:
tydrb:
volumes:
- tydrb-data:/app/data
- ./config.yaml:/app/config.yaml:ro # 설정 파일 마운트서버는 /app/config.yaml을 자동으로 탐색합니다.
설정 예시는 config/examples/sqlite-local.yaml을 참고하세요.
주의:
jwt.secret은 반드시 충분히 긴 랜덤 문자열로 변경하세요.
데이터 백업/복원
# 백업
docker compose exec tydrb cat /app/data/tydrb.db > backup.db
# 복원
docker compose down
docker cp backup.db $(docker compose ps -q tydrb):/app/data/tydrb.db
docker compose up -d이미지 직접 빌드
Makefile 타겟을 사용할 수도 있습니다:
make docker-build # Docker 이미지 빌드
make docker-up # docker compose up -d
make docker-down # 컨테이너 중지빌드 시 버전 태그를 지정하려면:
docker build --build-arg VERSION=v1.0.0 -t tydrb-server:v1.0.0 .문제 해결
포트 충돌
8080 포트가 이미 사용 중인 경우 docker-compose.yml에서 포트 매핑을 변경합니다:
ports:
- "3080:8080" # 호스트 3080 → 컨테이너 8080로그 확인
# 실시간 로그
docker compose logs -f tydrb
# 최근 100줄
docker compose logs --tail 100 tydrb컨테이너 상태 확인
docker compose ps