Getting StartedPrerequisites

Prerequisites

Run through this page once on a fresh machine before Run it locally. Pick the tab for your OS — every step lists what you should see, how to verify it worked, and what to do when the most common error appears.

What you are installing

ToolVersionWhy
GitlatestClone the two repos
Node.js22.x (LTS)Runs the Next.jsNext.jsReact framework used by HiveCFM Core. Handles routing, server rendering, and API routes in one bundle. app
pnpmpnpmThe package manager HiveCFM uses instead of npm or yarn. Faster, uses a single on-disk content store.9.15.9The repo pins this exact version
Docker24+ with Compose v2Postgres, Redis, MinIOMinIOS3-compatible object storage for survey attachments and uploads. Runs locally; swaps for real S3 in prod., Superset, HubHubThe Go service that owns background processing, integrations, and the admin API. Sibling to Core.
OpenSSLanyGenerates one-shot secrets for .env
Go1.25+ (optional)Only if you run hivecfm-hub natively instead of in Docker

Windows 10 / 11

Install Git

winget install --id Git.Git -e
  • Expected: “Successfully installed” within ~30 s.
  • Verify: open a new PowerShell window and run git --version — prints git version 2.x.x.
  • If git is not recognised: close and reopen the terminal so PATH is refreshed. Still missing? Reinstall and tick “Add to PATH” in the installer.
  • search-hint: git not recognized as internal or external command

Install nvm-windows, then Node 22

winget install --id CoreyButler.NVMforWindows -e

Close and reopen the terminal, then:

nvm install 22
nvm use 22
  • Expected: nvm use 22 prints Now using node v22.x.x (64-bit).
  • Verify: node -v prints v22.x.x.
  • If “exit status 1: The system cannot find the path specified”: run the terminal as Administrator once; nvm-windows needs admin to create the nodejs symlink.
  • If nvm is not recognised: the installer placed it under %APPDATA%\nvm but the env var NVM_HOME wasn’t picked up — log out and back in.
  • search-hint: nvm-windows exit status 1

Install pnpm 9.15.9

corepack enable
corepack prepare pnpm@9.15.9 --activate
  • Expected: No output from corepack enable; prepare prints Preparing pnpm@9.15.9 for immediate activation....
  • Verify: pnpm -v prints 9.15.9 exactly.
  • If “Unknown command ‘corepack’”: your Node is older than 16.10. Re-run nvm use 22.
  • If pnpm -v prints a different version: another global pnpm is shadowing corepack. Run npm uninstall -g pnpm and try again.
  • search-hint: corepack unknown command

Install Docker Desktop

winget install --id Docker.DockerDesktop -e

After install, launch Docker Desktop once and accept the license. It will enable WSL2 automatically.

  • Expected: Docker tray icon turns from orange to green within ~60 s on first run.
  • Verify: docker compose version prints Docker Compose version v2.x.x.
  • If “docker: command not found”: Docker Desktop didn’t add itself to PATH. Sign out and back in, or add C:\Program Files\Docker\Docker\resources\bin to PATH manually.
  • If WSL2 install fails: enable virtualization in BIOS and run wsl --install in an admin terminal, then reboot.
  • Memory tip: open Docker Desktop → Settings → Resources and give it at least 8 GB RAM — the Next.js build peaks around 8 GB.
  • search-hint: docker desktop wsl2 install failed windows

Verify OpenSSL

OpenSSL ships with Git for Windows. Open Git Bash (not PowerShell) and run:

openssl version
  • Expected: OpenSSL 3.x.x ....
  • Verify: openssl rand -hex 32 prints a 64-character hex string.
  • If not found in PowerShell: that is expected — use Git Bash for any openssl command, or install winget install --id ShiningLight.OpenSSL.Light for a PowerShell-native build.
  • search-hint: openssl windows powershell not recognized

(Optional) Install Go 1.25+

Skip this step if you plan to run the Hub in Docker (the default). Install Go only if you want native hot-reload on the Go service.

winget install --id GoLang.Go -e
  • Expected: “Successfully installed” within ~30 s.
  • Verify: go version prints go version go1.25.x windows/amd64.
  • If go: command not found: reopen the terminal so PATH is refreshed.
  • search-hint: go version not recognized windows

Done — what’s next

You are ready to clone the repos and start the stack.

→ Continue to Run it locally.

If you also want to set up your editor first (recommended for laptop dev; skip on EC2): IDE setup.