cal.diy

(★ 47,849)

절대 모두를 위한 일정 관리 인프라입니다.

파일 탐색기

파일 수가 많아 일부만 표시됩니다. 전체 파일은 위 다운로드 버튼으로 확인해 주세요.

  • .dockerignore
  • .editorconfig
  • .env.appStore.example
  • .env.example
  • .gitattributes
  • .gitignore
  • .gitpod.yml
  • .kodiak.toml
  • .npmrc
  • .yarnrc.yml
  • AGENTS.md
  • app.json
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • Dockerfile
  • LICENSE
  • PERMISSIONS.md
  • Procfile
  • README.md
  • SECURITY.md
  • SPEC-WORKFLOW.md

# 설치 가이드

node
사전 준비물

설치 및 실행 절차

git clone https://github.com/calcom/cal.diy.git

저장소를 로컬에 복제합니다.

yarn

프로젝트 패키지 의존성을 설치합니다.

cp .env.example .env

환경 변수 설정 파일을 생성합니다.

yarn workspace @calcom/prisma db-migrate

개발 환경에서 데이터베이스 마이그레이션을 실행합니다.

yarn dx

도커 기반으로 로컬 개발 환경과 DB를 실행합니다.

핵심 명령어

yarn

프로젝트의 모든 패키지 의존성을 설치합니다.

yarn dx

Docker를 활용하여 로컬 PostgreSQL 및 테스트 사용자를 포함한 개발 환경을 실행합니다.

yarn workspace @calcom/prisma db-migrate

Prisma 스키마를 이용해 개발 데이터베이스 마이그레이션을 적용합니다.

yarn workspace @calcom/prisma db-deploy

프로덕션 환경에서 데이터베이스 마이그레이션을 배포합니다.

NEXTAUTH_SECRET 및 CALENDSO_ENCRYPTION_KEY 환경 변수를 .env 파일에 반드시 설정해야 합니다.

# CDN으로 사용하기

jsDelivr

jsDelivr는 공개 GitHub 리포지토리를 별도 설정 없이 CDN으로 즉시 서빙합니다. 버전과 파일을 고르면 웹페이지에 바로 붙일 수 있는 링크와 예시 코드가 만들어집니다.

파일 목록이 많아 일부만 표시됩니다.

릴리즈 타임라인

명령어 용어집

이 문서에서 사용된 명령어를 모아봤습니다. 낯선 명령어가 있다면 펼쳐서 확인해보세요.

🔍

username

설명 보기 ▼

사용자를 관리.
설정 모드에서 사용.
더 많은 정보: <https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/security/s1/sec-s1-xe-3se-3850-cr-book/sec-s1-xe-3se-3850-cr-book_chapter_0110.html>.

username {{admin}} privilege 15 secret {{password}}

관리자 계정 생성:

🔍

createDB

설명 보기 ▼

PostgreSQL 데이터베이스 생성.
더 많은 정보: <https://www.postgresql.org/docs/current/app-createdb.html>.

createdb {{database_name}}

현재 사용자가 가지고 있는 데이터베이스를 생성:

createdb {{[-O|--owner]}} {{username}} {{database_name}} '{{description}}'

설명과 함께 특정 사용자가 소유한 데이터베이스를 생성:

createdb {{[-T|--template]}} {{template_name}} {{database_name}}

템플릿에서 데이터베이스를 생성:

🔍

docker compose down

설명 보기 ▼

Stop and remove containers, networks, images, and volumes created by `docker compose up`.

docker compose down

Stop and remove all containers and networks:

docker compose down --rmi all

Stop and remove containers, networks, and all images used by services:

docker compose down --rmi local

Stop and remove containers, networks, and only images without a custom tag:

🔍

docker compose up

설명 보기 ▼

Start and run Docker services defined in a Compose file.

docker compose up

Start all services defined in the docker-compose file:

docker compose up {{[-d|--detach]}}

Start services in the background (detached mode):

docker compose up --build

Start services and rebuild images before starting:

🔍

docker compose

설명 보기 ▼

Run and manage multi container Docker applications.

docker compose ps

List all running containers:

docker compose up {{[-d|--detach]}}

Create and start all containers in the background using a `docker-compose.yml` file from the current directory:

docker compose up --build

Start all containers, rebuild if necessary:

🔍

docker pull

설명 보기 ▼

This command is an alias of `docker image pull`.

tldr docker image pull

View documentation for the original command:

🔍

docker run

설명 보기 ▼

This command is an alias of `docker container run`.

tldr docker container run

View documentation for the original command:

🔍

docker

설명 보기 ▼

Docker 컨테이너 및 이미지를 관리.
`run`과 같은 일부 하위 명령에는 자체 사용 설명서가 있습니다.
더 많은 정보: <https://docs.docker.com/reference/cli/docker/>.

docker {{[ps|container ls]}} {{[-a|--all]}}

모든 도커 컨테이너들(실행 및 중지) 목록 보기:

docker {{[run|container run]}} --name {{container_name}} {{image}}

사용자 정의 이름으로 이미지로부터 컨테이너 실행:

docker container {{start|stop}} {{container_name}}

기존 컨테이너 시작 또는 중지:

🔍

git clone

설명 보기 ▼

Clone an existing repository.

git clone {{remote_repository_location}} {{path/to/directory}}

Clone an existing repository into a new directory (the default directory is the repository name):

git clone --recursive {{remote_repository_location}}

Clone an existing repository and its submodules:

git clone {{[-n|--no-checkout]}} {{remote_repository_location}}

Clone only the `.git` directory of an existing repository:

🔍

git pull

설명 보기 ▼

Fetch branch from a remote repository and merge it to local repository.

git pull

Download changes from default remote repository and merge it:

git pull {{[-r|--rebase]}}

Download changes from default remote repository and use fast-forward:

git pull {{remote_name}}

Download changes from a specific remote repository:

🔍

npx

설명 보기 ▼

이 명령은 `npm exec`의 별칭입니다.

tldr npm exec

자세한 내용은 원본 명령을 참고하세요:

🔍

nvm

설명 보기 ▼

Node.js 버전을 설치, 제거 또는 전환.
"12.8" 또는 "v16.13.1" 같은 버전 번호와 "stable", "system" 같은 레이블을 지원.
관련 항목: `asdf`.
더 많은 정보: <https://github.com/nvm-sh/nvm#usage>.

nvm install {{node_version}}

특정 버전의 Node.js 설치:

nvm install {{node_version}}

Node.js의 특정 버전 설치:

nvm use {{node_version}}

현재 셸에서 특정 버전의 Node.js 사용:

🔍

openssl rand

설명 보기 ▼

Generate random bytes using a cryptographically secure PRNG.

openssl rand -hex 8

Generate an 8-byte (16 characters) hex string and write it to `stdout`:

openssl rand -base64 20

Generate 20 random bytes encoded in base64:

openssl rand -out {{path/to/file}} {{length}}

Generate random bytes and write them to a file (without encoding):

🔍

pass

설명 보기 ▼

비밀번호나 기타 민감한 데이터를 저장하고 읽기.
모든 데이터는 GPG로 암호화되며, Git 저장소로 관리됩니다.
더 많은 정보: <https://git.zx2c4.com/password-store/about/>.

pass init {{gpg_id_1 gpg_id_2 ...}}

하나 이상의 GPG ID를 사용하여 저장소 초기화 (또는 재암호화):

pass insert {{[-m|--multiline]}} {{path/to/data}}

새 비밀번호 및 추가 정보 저장 (새 줄에서 `<Ctrl d>`를 눌러 완료):

pass edit {{path/to/data}}

항목 편집:

🔍

psql

설명 보기 ▼

PostgreSQL 명령줄 클라이언트.
더 많은 정보: <https://www.postgresql.org/docs/current/app-psql.html>.

psql {{database}}

데이터베이스에 연결. 기본적으로, 현재 로그인한 사용자로 포트 5432를 사용하여 로컬 소켓에 연결:

psql {{[-h|--host]}} {{host}} {{[-p|--port]}} {{port}} {{[-U|--username]}} {{username}} {{database}}

주어진 서버 호스트에서 주어진 포트로 주어진 사용자 명으로 데이터베이스에 연결, 비밀번호 입력은 생략:

psql {{[-h|--host]}} {{host}} {{[-p|--port]}} {{port}} {{[-U|--username]}} {{username}} {{[-W|--password]}} {{database}}

데이터베이스에 연결; 사용자는 비밀번호를 입력해야 함:

🔍

yarn

설명 보기 ▼

JavaScript 및 Node.js 패키지 대체 관리자.
더 많은 정보: <https://yarnpkg.com/cli>.

yarn global add {{module_name}}

전역적으로 모듈 설치:

yarn install

`package.json` 파일에 참조된 모든 의존성을 설치 ( `install`은 선택 사항입니다):

yarn add {{module_name}}@{{version}}

모듈을 설치하고 `package.json` 파일에 대한 의존성으로 저장 (개발 전용 의존성으로 추가하려면 `--dev` 추가):

🔍

pro

설명 보기 ▼

Ubuntu Pro 서비스 관리.
더 많은 정보: <https://manned.org/ubuntu-advantage>.

sudo pro attach

시스템을 Ubuntu Pro 지원 계약에 연결:

pro status

Ubuntu Pro 서비스 상태 표시:

pro fix {{CVE-number}}

특정 취약점에 시스템이 영향을 받는지 확인 (가능하다면 수정 적용):

// repository documentation