본문으로 건너뛰기

© 2026 Molayo

GH Trending중요릴리즈2026. 04. 24. 05:58

오픈소스 스케줄링 플랫폼 Cal.diy 자가 호스팅 가이드

요약

Cal.diy는 상업적 종속성이 없는 100% 오픈소스 커뮤니티 기반 스케줄링 플랫폼입니다. 기존 Cal.com의 엔터프라이즈 기능을 제거하고 MIT 라이선스로 공개되어, 사용자가 자신의 인프라에 직접 배포(self-host)할 수 있도록 설계되었습니다. 이 가이드는 Node.js (>=18.x), PostgreSQL (>=13.x), Yarn을 요구하며, Git 클론부터 환경 변수 설정(.env 파일), 그리고 최종적으로 `yarn dx` 명령어를 통해 로컬에서 플랫폼을 구동하는 상세 절차를 안내합니다.

핵심 포인트

  • Cal.diy는 Cal.com의 커뮤니티 에디션으로, Teams, SSO/SAML 등 상업적 엔터프라이즈 기능이 모두 제거된 100% 오픈소스(MIT 라이선스) 버전입니다.
  • 자가 호스팅을 위해서는 Node.js (>=18.x), PostgreSQL (>=13.x), Yarn 등의 환경 설정과 서버 관리 지식이 필수적으로 요구됩니다.
  • 설치 과정은 Git 클론 후 `yarn`으로 패키지를 설치하고, `.env` 파일을 통해 인증 정보 및 비밀 키를 생성하여 구성하는 순서로 진행됩니다.
  • 애플리케이션 실행 시 메모리 제한을 늘리기 위해 `export NODE_OPTIONS="--max-old-space-size=16384"`와 같은 환경 변수 설정이 권장됩니다.

Cal.diy는 상업적 종속성 없이 사용자가 자신의 인프라에 직접 배포(self-host)할 수 있도록 설계된, 커뮤니티 주도형 오픈소스 스케줄링 플랫폼입니다. 이는 원래의 Cal.com에서 기업용/상업적 코드를 모두 제거한 포크(fork) 버전이며, 100% MIT 라이선스를 따릅니다.

주요 특징 및 장점:

  • 완전한 오픈소스: 전체 코드베이스가 MIT 라이선스로 공개되어 독점적인 'Enterprise Edition' 기능에 대한 제약이 없습니다.
  • 상업적 종속성 없음: 조직(Organizations), 팀(Teams), 인사이트(Insights), 워크플로우(Workflows), SSO/SAML 등 기업용 기능이 모두 제거되었습니다.
  • 라이선스 키 불필요: 별도의 Cal.com 계정이나 라이선스가 필요 없이 즉시 사용 가능합니다.

⚠️ 중요 경고 및 전제 조건:
Cal.diy는 자가 호스팅(self-hosted) 프로젝트이며, 관리형 서비스 버전은 제공되지 않습니다. 따라서 서버 관리, 데이터베이스 관리, 민감한 데이터 보안에 대한 고급 지식이 필수적으로 요구됩니다. 본 가이드를 진행하기 전에 이러한 책임과 난이도를 충분히 인지해야 합니다.

필수 환경 설정:
Cal.diy를 구동하려면 다음의 기술 스택이 필요합니다:

  1. Node.js (버전: >=18.x)
  2. PostgreSQL (버전: >=13.x)
  3. Yarn (권장 패키지 매니저)

설치 및 구동 절차:

  1. 리포지토리 클론: Git을 사용하여 프로젝트를 로컬 환경에 복제합니다.
    git clone https://github.com/calcom/cal.diy.git
  2. 패키지 설치: 프로젝트 폴더로 이동 후, yarn 명령어를 실행하여 필요한 모든 패키지를 설치합니다.
  3. .env 파일 설정: 환경 변수 설정을 위해 .env.example 파일을 복사하여 .env 파일을 생성해야 합니다. 이 과정에서 보안을 위한 비밀 키(Secret Key)를 생성하고 추가하는 것이 중요합니다 (예: NEXTAUTH_SECRET, CALENDSO_ENCRYPTION_KEY).
  4. Node 버전 관리: 만약 Node.js 버전이 요구 사항과 다를 경우, nvm (Node Version Manager)을 사용하여 필요한 버전을 설치하고 활성화해야 합니다.
  5. 데이터베이스 초기화 및 실행: Docker와 Docker Compose가 설치되어 있어야 하며, 다음 명령어를 통해 로컬 PostgreSQL 인스턴스를 시작하고 테스트 사용자들을 포함한 데이터베이스를 구축합니다.
    yarn dx
  6. 추가 최적화 (선택): Node 프로세스의 메모리 제한을 늘리기 위해 쉘 스크립트에 export NODE_OPTIONS="--max-old-space-size=16384"와 같은 설정을 추가하는 것이 좋습니다.
  7. 로깅 제어: .env 파일에 NEXT_PUBLIC_LOGGER_LEVEL={level}을 설정하여 tRPC 쿼리 및 뮤테이션의 로깅 상세도를 조절할 수 있습니다 (예: 3은 info 레벨부터 기록).

이 과정을 통해 사용자는 완전한 통제권을 가진, 커스터마이징 가능한 스케줄링 인프라를 구축할 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending TypeScript (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
4

댓글

0