- Twake Drive는 Google Drive와 유사한 파일 저장·공유 기능을 제공하는 오픈소스 클라우드 스토리지 플랫폼임
-
Docker 기반 배포를 지원해 로컬 환경에서 손쉽게 구동 가능하며, Node.js와 MongoDB를 주요 기술 스택으로 사용
- 프런트엔드와 백엔드가 분리된 구조로, Yarn 기반 개발 환경과 로컬 파일 저장 경로 설정 기능을 제공
-
Affero GPL v3 라이선스로 공개되어 있어, 기업이나 조직이 자체 호스팅 형태로 자유롭게 커스터마이징 가능
- 상용 클라우드 의존도를 줄이고 데이터 주권과 보안 통제권을 확보하려는 기업에게 실질적 대안으로 주목됨
프로젝트 개요
- Twake Drive는 Linagora가 개발한 Google Drive의 오픈소스 대체 솔루션으로, 파일 저장·공유·협업 기능을 자체 서버에서 운영할 수 있는 형태로 제공
- 클라우드 서비스 종속을 피하고, 데이터 소유권과 보안 통제를 유지하려는 조직을 주요 대상으로 함
- GitHub에서 공개된 저장소는 1,000개 이상의 스타와 70여 개의 포크를 기록하며 활발히 유지보수 중
- 프로젝트는 AGPL-3.0 라이선스를 채택해, 소스코드 수정 및 재배포 시 동일한 라이선스 조건을 유지해야 함
주요 기능 및 기술 스택
- Twake Drive는 Node.js(18.x 이상) , MongoDB, Yarn을 기반으로 동작하며, 프런트엔드와 백엔드가 분리된 구조로 설계
- 프런트엔드는 tdrive/frontend/ 디렉터리에서 yarn dev:start로 실행
- 백엔드는 tdrive/backend/node/에서 환경 변수를 설정 후 yarn dev로 구동
-
Docker Compose를 이용한 간단한 배포 옵션(docker-compose.minimal.yml)을 제공해, 로컬 테스트 및 내부 배포가 용이
-
MongoDB 컨테이너 실행 명령(docker run -p 27017:27017 -d mongo)을 통해 데이터베이스를 손쉽게 구동
- 환경 설정은 tdrive/backend/node/config/development.json 파일을 통해 세부 조정 가능
개발 및 배포 구조
- Twake Drive는 프런트엔드(React 기반) 와 백엔드(Node.js 기반) 가 분리되어 있으며, 로컬 파일 저장소 경로를 직접 지정 가능
-
STORAGE_LOCAL_PATH 환경 변수를 통해 문서 저장 위치를 설정
-
PUBSUB_TYPE=local 설정으로 로컬 환경에서의 퍼블리시·구독 기능을 지원
- 애플리케이션은 기본적으로 3000번 포트에서 실행되며, 개발 및 테스트 환경에 최적화된 구조를 가짐
-
Docker Bake 설정 파일(docker-bake.hcl)과 CI/CD용 GitHub Actions 구성이 포함되어 있어 자동화된 빌드 및 테스트 지원
코드 및 저장소 현황
- 저장소는 882개의 커밋, 61개의 브랜치, 46개의 태그로 구성되어 있으며, 활발한 개발 이력 유지
- 주요 언어 비중은 TypeScript 58.9% , JavaScript 32.6% , SCSS 3.7% , CSS 2.2% , HTML 1.3% , Less 1.0%
- 최근 커밋(Oct 15, 2025)에서는 마이그레이션 스크립트 수정 및 버그 수정이 포함
-
Documentation 폴더에는 편집 세션 키(editing_session_key) 등 세부 기술 문서가 포함되어 있음
커뮤니티 및 기여 정책
- 프로젝트는 CODE_OF_CONDUCT.md와 CONTRIBUTING.md를 통해 기여자 행동 강령과 참여 절차를 명시
- Pull Request, Issue 등록, 코드 리뷰 절차가 GitHub 표준 워크플로에 따라 운영
-
Security Policy 문서를 통해 보안 취약점 보고 절차를 안내
-
Telegram 채널과 공식 웹사이트를 통해 커뮤니티 피드백 및 로드맵 공유
라이선스 및 활용 가능성
- Twake Drive는 Affero GPL v3 라이선스로 배포되어, 소스코드 수정 및 재배포 시 동일한 공개 의무를 가짐
- 기업은 이를 기반으로 내부 전용 클라우드 스토리지 시스템을 구축하거나, SaaS 형태로 확장 가능
- 상용 클라우드 서비스의 비용 절감과 데이터 주권 확보를 동시에 달성할 수 있는 대안으로 평가됨
- 오픈소스 커뮤니티 중심의 개발 모델을 통해 지속적인 기능 개선과 보안 업데이트가 이루어지고 있음