V8, Rust, Tokio를 기반으로 보안 기본값을 제공하는 JavaScript, TypeScript, WebAssembly 런타임입니다.
cloudflare/workerd
Cloudflare Workers를 구동하는 것과 동일한 코드로 만든 JavaScript/Wasm 서버 런타임으로, 자체 호스팅과 로컬 개발에 사용할 수 있습니다.
- 스타
- 9,036
- 포크
- 796
- 열린 이슈
- 813
- 마지막 커밋
- 4시간 전
어떤 프로젝트인가요?
workerd는 Cloudflare Workers용으로 작성된 JavaScript 및 WebAssembly 코드를 실행하는 서버 런타임입니다. Workers 애플리케이션을 자체 호스팅하는 애플리케이션 서버, 로컬 개발 및 테스트 도구, 또는 요청을 가로채고 수정해 라우팅하는 프로그래밍 가능한 정방향·역방향 HTTP 프록시로 사용할 수 있습니다.
애플리케이션은 동일한 스레드와 프로세스 안에서 서로를 호출하는 나노서비스로 나뉘며, 리소스는 전역 네임스페이스 대신 Cap'n Proto 설정 파일의 capability 바인딩을 통해 연결됩니다. 내장 API는 fetch() 같은 웹 플랫폼 표준을 따르며, 각 버전에는 호환성 날짜가 지정되어 이전 API 동작을 에뮬레이션할 수 있습니다.
프로젝트는 C++로 작성되고 Bazel로 빌드되며, 사전 빌드된 바이너리는 npm을 통해 배포됩니다. Linux, macOS, Windows에서 테스트되며 MINIFLARE_WORKERD_PATH 환경 변수를 통해 Wrangler와 함께 사용할 수 있습니다. 프로젝트에서는 보안이 강화된 샌드박스가 아니라고 명시하므로, 신뢰할 수 없는 코드는 VM이나 이와 유사한 격리 환경에서 실행해야 합니다.
핵심 기능
- 01Cloudflare Workers용으로 작성된 JavaScript 및 Wasm 코드를 실행합니다.
- 02애플리케이션을 프로세스 내에서 서로 호출하는 나노서비스로 나눕니다.
- 03capability 바인딩을 사용하는 Cap'n Proto 파일로 설정합니다.
- 04이전 API 동작을 에뮬레이션하는 호환성 날짜를 지원합니다.
- 05프로그래밍 가능한 정방향·역방향 HTTP 프록시로 실행할 수 있습니다.
- 06--socket-fd를 통해 systemd 소켓 상속을 지원합니다.
활용 사례
- 원래 Cloudflare Workers용으로 설계된 애플리케이션을 자체 호스팅합니다.
- Wrangler를 사용해 Workers 코드를 로컬에서 개발하고 테스트합니다.
- 요청을 수정하거나 라우팅하는 프로그래밍 가능한 HTTP 프록시를 구축합니다.
빠른 시작
- 1
Bazel로 workerd 바이너리를 빌드합니다
bazel build //src/workerd/server:workerd - 2
서비스와 소켓을 정의하는 설정 파일(예: my-config.capnp)을 작성합니다
- 3
workerd로 설정 파일을 사용해 서비스를 실행합니다
workerd serve my-config.capnp
사용 전 알아둘 점
- workerd는 보안이 강화된 샌드박스가 아니므로, 신뢰할 수 없는 코드는 가상 머신이나 다른 안전한 샌드박스 안에서 실행하세요.
- 소스에서 빌드하려면 대규모 툴체인이 필요합니다. Linux에서는 clang 22 이상, libc++ 22 이상, LLD 22 이상이 필요하고, macOS에서는 Xcode 16.3이 필요합니다.
- x86-64 및 arm64 기반 Linux, macOS, Windows에서만 공식적으로 테스트되었습니다.
토픽
자주 묻는 질문
- workerd은(는) 무엇인가요?
- Cloudflare Workers를 구동하는 것과 동일한 코드로 만든 JavaScript/Wasm 서버 런타임으로, 자체 호스팅과 로컬 개발에 사용할 수 있습니다. workerd는 Cloudflare Workers용으로 작성된 JavaScript 및 WebAssembly 코드를 실행하는 서버 런타임입니다. Workers 애플리케이션을 자체 호스팅하는 애플리케이션 서버, 로컬 개발 및 테스트 도구, 또는 요청을 가로채고 수정해 라우팅하는 프로그래밍 가능한 정방향·역방향 HTTP 프록시로 사용할 수 있습니다.
- workerd은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- workerd은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- workerd은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. workerd의 마지막 커밋은 2026년 10월 21일입니다.
- workerd은(는) 어디에 사용할 수 있나요?
- 원래 Cloudflare Workers용으로 설계된 애플리케이션을 자체 호스팅합니다. Wrangler를 사용해 Workers 코드를 로컬에서 개발하고 테스트합니다. 요청을 수정하거나 라우팅하는 프로그래밍 가능한 HTTP 프록시를 구축합니다.
- workerd는 어떻게 설치하나요?
- Bazel로 workerd 바이너리를 빌드합니다: bazel build //src/workerd/server:workerd 서비스와 소켓을 정의하는 설정 파일(예: my-config.capnp)을 작성합니다 workerd로 설정 파일을 사용해 서비스를 실행합니다: workerd serve my-config.capnp
- workerd은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/cloudflare/workerd
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Workers, KV, D1, R2 등을 한 대의 머신에서 실행하는 Cloudflare Workers 호환 셀프 호스팅 플랫폼
Node.js는 브라우저 밖에서 JavaScript를 실행하는 오픈소스 크로스 플랫폼 런타임입니다.
런타임, 번들러, 테스트 러너, 패키지 관리자를 단일 실행 파일에 담은 빠른 올인원 JavaScript 및 TypeScript 툴킷입니다.
Cloudflare Workers 기반의 셀프 호스팅 이메일 서비스로, 한 도메인에 여러 메일함을 만들고 메일 전송, 첨부 파일, 반응형 웹 UI를 사용할 수 있습니다.
Cloudflare Durable Objects에서 실시간 상태 동기화, 작업 예약, MCP를 지원하는 영속적이고 상태를 유지하는 AI 에이전트를 만들기 위한 TypeScript SDK입니다.