도커 기반 Twake 배포 시스템 구축 가이드
Twake는 조직의 협업 효율성을 높이기 위해 설계된 보안 강화 오픈소스 플랫폼입니다. 본 문서에서는 도커와 도커 컴포즈를 활용한 실용적인 배포 방법을 단계별로 설명합니다.
사전 준비: 시스템 요구 사항 확인 배포를 시작하기 전 다음 환경을 확보하세요:
- 도커 엔진 20.10 이상
- 도커 컴포즈 v2 이상
- 최소 4GB RAM 및 20GB 여유 디스크 공간
공식 저장소 복제
git clone https://gitcode.com/gh_mirrors/tw/Twake
cd Twake/twake
도커 컴포즈 구성 파일 분석 프로젝트 루트에는 다양한 환경에 맞춘 구성 파일이 포함되어 있습니다:
| 파일명 | 용도 |
|---|---|
| docker-compose.dev.yml | 개발용 설정 |
| docker-compose.onpremise.yml | 자체 호스팅용 프로덕션 설정 |
| docker-compose.tests.yml | 테스트 환경 구성 |
생산 환경에서는 docker-compose.onpremise.yml을 권장하며, 데이터베이스, 캐시, 애플리케이션 서비스 등 전체 스택을 포함합니다.
빠른 배포: 한 번의 명령어로 서비스 실행
- 기본 설정 파일 생성
cp default-configuration/backend-node/production.json.template default-configuration/backend-node/production.json
- 서비스 시작
docker-compose -f docker-compose.onpremise.yml up -d
- 초기화 상태 모니터링
docker-compose -f docker-compose.onpremise.yml logs -f
(약 3~5분 소요)
배포 성공 여부 확인
브라우저에서 http://localhost:8080에 접속하여 로그인 화면이 표시되면 정상 작동 중입니다.
고급 설정: 사용자 맞춤형 환경 구성
커스텀 도메인 및 HTTPS 적용
twake/docker/twake-nginx/site.conf파일 수정- SSL 인증서 설정: 문서 참조
데이터 지속성 설정
다음 경로를 외부 볼륨으로 마운트하여 데이터 손실 방지:
twake/backend/web/medias→ 미디어 파일 저장소twake/docker/mongo/data→ MongoDB 데이터 저장 위치
주요 문제 해결 및 최적화 팁
서비스 시작 실패 시 점검 항목
- 포트 충돌 확인
netstat -tulpn | grep -E '8080|27017|6379'
- 컨테이너 상태 조회
docker-compose -f docker-compose.onpremise.yml ps
성능 개선 제안
- MongoDB에 독립 스토리지 볼륨 할당 (읽기/쓰기 성능 향상)
- 사용자 수에 따라 리소스 제한 조정 (
deploy.resources설정) - Redis 캐싱 활성화로 응답 시간 감소
컨테이너화 배포의 핵심 이점
- 일관된 개발/배포 환경 제공
- 설치 시간 단축 (수 분 내 완료)
- 서비스 간 격리성 보장
- 확장성 향상: 수평 확장이 용이함
자세한 설정 옵션은 공식 문서 Installation Guide를 참고하세요.