Scheduling infrastructure for absolutely everyone.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
[!WARNING]
사용에 따른 책임은 본인에게 있습니다. Cal.diy는 Cal.com의 오픈 소스 커뮤니티 에디션으로, 자체 호스팅을 원하는 사용자를 위한 것입니다. 개인적이고 비프로덕션 용도로만 사용하는 것을 엄격히 권장합니다. 모든 설치 및 구성 단계를 신중히 검토하세요. 자체 호스팅에는 서버 관리, 데이터베이스 관리, 민감한 데이터 보안에 대한 고급 지식이 필요합니다. 이러한 책임을 감당할 수 있는 경우에만 진행하세요.
[!TIP]
상업용 및 엔터프라이즈급 스케줄링 인프라가 필요하다면 Cal.diy가 아닌 Cal.com을 사용하세요. 당사가 호스팅하거나 온프레미스 엔터프라이즈 액세스 초대를 받으려면 <a href="https://cal.com/sales">https://cal.com/sales</a>를 방문하세요.
<!-- 프로젝트 로고 --> <p align="center"> <a href="https://github.com/calcom/cal.diy"> <img src="https://user-images.githubusercontent.com/8019099/210054112-5955e812-a76e-4160-9ddd-58f2c72f1cce.png" alt="로고"> </a>
<h3 align="center">Cal.diy</h3>
<p align="center"> 커뮤니티 주도의 오픈 소스 스케줄링 플랫폼. <br /> <a href="https://github.com/calcom/cal.diy"><strong>GitHub</strong></a> <br /> <a href="https://github.com/calcom/cal.diy/issues">이슈</a> · <a href="./CONTRIBUTING.md">기여하기</a> </p> </p>
<p align="center"> <a href="https://github.com/calcom/cal.diy/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-purple" alt="라이선스"></a> <a href="https://github.com/calcom/cal.diy/stargazers"><img src="https://img.shields.io/github/stars/calcom/cal.diy" alt="Github 별"></a> <a href="https://github.com/calcom/cal.diy/pulse"><img src="https://img.shields.io/github/commit-activity/m/calcom/cal.diy" alt="월별 커밋"></a> <a href="https://hub.docker.com/r/calcom/cal.diy"><img src="https://img.shields.io/docker/pulls/calcom/cal.diy" alt="Docker Pulls"></a> <a href="https://github.com/calcom/cal.diy/issues?q=is:issue+is:open+label:%22%F0%9F%99%8B%F0%9F%8F%BB%E2%80%8D%E2%99%82%EF%B8%8Fhelp+wanted%22"><img src="https://img.shields.io/badge/Help%20Wanted-Contribute-blue"></a> <a href="https://contributor-covenant.org/version/1/4/code-of-conduct/"><img src="https://img.shields.io/badge/Contributor%20Covenant-1.4-purple" /></a> </p>
<!-- 프로젝트 소개 -->
<img width="100%" alt="예약 화면" src="https://github.com/calcom/cal.diy/assets/8019099/407e727e-ff19-4ca4-bcae-049dca05cf02">
Cal.diy는 커뮤니티 주도의 완전 오픈 소스 스케줄링 플랫폼입니다. Cal.com의 포크로, 모든 엔터프라이즈/상용 코드가 제거되었습니다.
Cal.diy는 100% MIT 라이선스이며 독점적인 "Enterprise Edition" 기능이 없습니다. 개인 및 자체 호스팅 사용자가 상업적 종속성 없이 스케줄링 인프라를 완전히 제어할 수 있도록 설계되었습니다.
참고: Cal.diy는 자체 호스팅 프로젝트입니다. 호스팅 또는 관리형 버전은 없습니다. 사용자가 자신의 인프라에서 실행합니다.
<!-- 시작하기 -->
로컬 복사본을 실행하려면 다음 간단한 단계를 따르세요.
Cal.diy를 실행하는 데 필요한 것들입니다.
사용 가능한 통합 기능을 활성화하려면 각각에 대한 추가 자격 증명을 얻어야 할 수 있습니다. 자세한 내용은 아래 통합 섹션에서 확인할 수 있습니다.
git clone https://github.com/calcom/cal.diy.git
Windows 사용자는 관리자 권한으로 Git Bash에서 다음 명령을 실행하세요:
git clone -c core.symlinks=true https://github.com/calcom/cal.diy.git
cd cal.diy
yarn
.env 파일을 설정합니다.env.example을 .env로 복사합니다.openssl rand -base64 32를 사용하여 키를 생성하고 .env 파일의 NEXTAUTH_SECRET에 추가합니다.openssl rand -base64 24를 사용하여 키를 생성하고 .env 파일의 CALENDSOENCRYPTIONKEY에 추가합니다.Windows 사용자: Prisma 오류(
unexpected character / in variable name)를 방지하려면packages/prisma/.env심볼릭 링크를 실제 복사본으로 교체하세요:
>
```sh
# Git Bash / WSL
rm packages/prisma/.env && cp.env packages/prisma/.env
```
Node 버전이 프로젝트 요구사항을 충족하지 않는 경우 "nvm"(Node Version Manager)을 사용하여 필요한 버전의 Node를 사용할 수 있습니다:
nvm use
먼저 특정 버전을 설치한 후 사용해야 할 수도 있습니다:
nvm install && nvm use
nvm은 여기에서 설치할 수 있습니다.
yarn dx로 빠른 시작- Docker 및 Docker Compose가 설치되어 있어야 합니다.
- 로컬 Postgres 인스턴스와 몇 가지 테스트 사용자를 시작합니다. 자격 증명은 콘솔에 기록됩니다.
yarn dx
생성되는 기본 자격 증명:
| 이메일 | 비밀번호 | 역할 | ||
|---|---|---|---|---|
[email protected] |
free |
무료 사용자 | ||
[email protected] |
pro |
프로 사용자 | ||
[email protected] |
trial |
체험 사용자 | ||
[email protected] |
ADMINadmin2022! |
관리자 사용자 | ||
[email protected] |
onboarding |
온보딩 미완료 |
이 자격 증명 중 하나를 사용하여 http://localhost:3000에 로그인할 수 있습니다.
팁: 시드된 사용자 전체 목록과 세부 정보를 보려면
yarn db-studio를 실행하고 http://localhost:5555를 방문하세요.
export NODE_OPTIONS="--max-old-space-size=16384"를 추가하여 Node 프로세스의 메모리 제한을 늘리세요. 또는 앱을 실행하기 전에 터미널에서 이 명령을 실행할 수 있습니다. 16384를 Node 프로세스에 할당할 RAM 용량으로 바꾸세요..env 파일에 NEXTPUBLICLOGGER_LEVEL={level}을 추가하여 모든 tRPC 쿼리 및 뮤테이션의 로깅 상세도를 제어하세요.{level}은 다음 중 하나일 수 있습니다:
0 (silly) \
1 (trace) \
2 (debug) \
3 (info) \
4 (warn) \
5 (error) \
6 (fatal)
.env 파일에 NEXTPUBLICLOGGER_LEVEL={level}을 설정하면 해당 레벨 이상의 로그가 활성화됩니다. 예를 들어:
NEXTPUBLICLOGGER_LEVEL=2로 설정하면 레벨 2(debug)부터 위로 로그가 기록됩니다. 즉, 레벨 2(debug), 3(info), 4(warn), 5(error), 6(fatal)이 기록됩니다.NEXTPUBLICLOGGER_LEVEL=3으로 설정하면 레벨 3(info)부터 위로 로그가 기록됩니다. 즉, 레벨 3(info), 4(warn), 5(error), 6(fatal)이 기록되고 레벨 2(debug)와 레벨 1(trace)은 무시됩니다.echo 'NEXT_PUBLIC_LOGGER_LEVEL=3' >>.env
예를 들어 Logger 레벨을 info로 설정합니다.
.env 파일에서 환경 변수를 구성합니다. <user>, <pass>, <db-host>, <db-port>를 해당 값으로 바꾸세요. DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'
<details> <summary>DATABASE_URL을 구성하는 방법을 모르는 경우, 여기에서 빠른 로컬 DB를 생성하는 단계를 따르세요.</summary>
createDB <DB 이름>을 실행하여 로컬 DB를 생성합니다.psql -h localhost -U postgres -d <DB 이름>\conninfo를 실행하면 다음 정보를 얻을 수 있습니다.postgresql://postgres:postgres@localhost:5432/Your-DB-Name. 포트는 구성 가능하며 5432일 필요는 없습니다.
</details>
로컬 DB를 생성하지 않으려면 railway.app, Northflank 또는 render와 같은 서비스를 고려할 수도 있습니다.
.env에서 DATABASE_URL을 복사하여 .env.appStore에 붙여넣습니다.packages/prisma/schema.prisma에 있음)를 사용하여 데이터베이스를 설정합니다.개발 환경에서는 다음을 실행합니다:
yarn workspace @calcom/prisma db-migrate
프로덕션 환경에서는 다음을 실행합니다:
yarn workspace @calcom/prisma db-deploy
참고:
E2ETESTMAILHOG_ENABLED가 "1"로 설정된 경우 필요합니다.
docker pull mailhog/mailhog
docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog
yarn dev
yarn db-studio
User 모델을 클릭하여 새 사용자 레코드를 추가합니다.email, username, password 필드를 채우고 metadata를 빈 {}로 설정한 후 (비밀번호는 BCrypt로 암호화하는 것을 잊지 마세요) Save 1 Record를 클릭하여 첫 번째 사용자를 생성합니다.새 사용자는 기본적으로
TRIAL요금제로 설정됩니다.packages/prisma/schema.prisma파일에서 이 동작을 필요에 맞게 조정할 수 있습니다.
다음을 실행하여 로컬 DB를 시드합니다:
cd packages/prisma
yarn db-seed
위 명령은 로컬 DB에 더미 사용자를 채웁니다.
환경 변수 NEXTAUTH_URL이 올바른 값으로 설정되어 있는지 확인하세요. 로컬에서 실행하는 경우 .env.example 문서에 언급된 대로 값은 http://localhost:3000이어야 합니다.
# 터미널에서 다음을 실행:
yarn test-e2e
# 마지막 HTML 보고서를 열려면 다음을 실행:
yarn playwright show-report test-results/reports/playwright-html-report
npx playwright install을 실행하여 테스트 브라우저를 다운로드하고 yarn test-e2e 실행 시 아래 오류를 해결하세요:
Executable doesn't exist at /Users/alice/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium
git pull
yarn
[...truncated...]