local-temporal

작성자: temporalio

내장 CLI 개발 서버 대신 로컬 Temporal 서버 빌드에 대해 UI를 실행하기 위한 지침입니다. 개발 환경을 시작하는 방법을 물었을 때 사용합니다.

npx skills add https://github.com/temporalio/ui --skill local-temporal

Local Temporal Dev Setup

To develop against a local build of the Temporal server, you need two things running in separate terminals.

Terminal 1 — Temporal server (from your local temporal repo)

Navigate to your local clone of the temporalio/temporal repo and start the server:

make start

This builds and starts the server with SQLite in-memory. If you want a specific branch, check it out first:

git checkout <branch-name>
make bins  # safe to run even if already built — outputs "Nothing to be done" and exits cleanly
make start

The server runs gRPC on port 7233 and HTTP on 7243.

Terminal 2 — UI dev server (this repo)

From this repo, use the local-temporal script instead of the default dev script:

pnpm dev:local-temporal

This loads .env.local-temporal which points the UI at the local server instead of spinning up its own.

Why not pnpm dev?

pnpm dev (aliased to pnpm dev:ui-server) starts a bundled Temporal server alongside the UI. pnpm dev:local-temporal skips that and connects to whatever is already running on the configured ports.

Keeping the ui-server in sync with the Temporal server branch

This is critical when working on unreleased features. The ui-server (server/) is a separate Go binary that acts as a grpc-gateway — it decodes HTTP/JSON into proto messages and forwards them to the Temporal server over gRPC. Its proto descriptors are baked in at compile time from its own server/go.mod.

If the Temporal server branch uses a newer go.temporal.io/api version than server/go.mod, the ui-server will reject any new HTTP fields as "unknown field" before the request ever reaches the Temporal server.

When switching to a Temporal branch with API changes:

  1. Check what go.temporal.io/api version the Temporal server branch uses:

    grep "go.temporal.io/api" ~/code/temporal/go.mod
    
  2. Update server/go.mod to match:

    cd server
    go get go.temporal.io/api@<version>
    
  3. Rebuild the ui-server binary:

    go build -o ui-server ./cmd/server
    
  4. Then restart pnpm dev:local-temporal to pick up the new binary.

temporalio의 다른 스킬

temporal-cloud-setup
temporalio
Temporal Cloud을 설정하고 사용자를 위해 샘플 워크플로를 처음부터 끝까지 실행합니다. 사용자가 Temporal Cloud를 설정하거나 시작하려고 할 때 사용하세요.
official
temporal-developer
temporalio
Python, TypeScript, Go, Java, .NET 및 Ruby 전반에 걸쳐 Temporal 애플리케이션을 개발, 디버그 및 관리합니다. 사용자가 워크플로, 액티비티 등을 구축할 때 사용하세요.
official
temporal-cloud
temporalio
Temporal Cloud 연결, 인증 및 구성 문제를 해결합니다. 사용자가 로그인 실패, Cloud 연결 불가, x509/TLS 오류, 네임스페이스 또는… 문제가 발생할 때 사용하세요.
official
temporal-observability
temporalio
Temporal Cloud 및 자체 호스팅 배포 환경 전반에 걸쳐 Temporal 메트릭을 계측, 수집, 조회, 알림 처리합니다. Cloud OpenMetrics 엔드포인트, SDK 메트릭 등을 다룹니다.
official
temporal-cloud-setup
temporalio
Temporal Cloud을 설정하고 사용자를 위해 샘플 워크플로를 처음부터 끝까지 실행합니다. 사용자가 Temporal Cloud을 설정하거나 시작하려고 할 때 사용하세요.
official
temporal-developer
temporalio
이 스킬은 사용자가 "Temporal 워크플로우 생성", "Temporal 액티비티 작성", "멈춘 워크플로우 디버깅", "비결정론 오류 수정" 등을 요청할 때 사용해야 합니다.
official
temporal-workflow-design-critic
temporalio
Temporal 워크플로우 디자인의 정확성, 프로덕션 준비 상태, 모범 사례 준수 여부를 비판, 감사 또는 평가합니다. Temporal… 검토를 요청받았을 때 사용하세요.
official
temporal-developer
temporalio
Python, TypeScript, Go, Java 및 .NET에서 Temporal 애플리케이션을 개발, 디버그 및 관리합니다. 사용자가 워크플로, 액티비티 또는 워커를 구축할 때 사용하세요.
official