Honua
// windows

Install the 2026.1 Release Candidate on Windows

← Back to docs

Use Docker Desktop with Linux containers, Compose v2, and Python 3.11 or later. The secret commands call python3, so that name has to be on PATH. In the python.org installer, choose Add python.exe to PATH. The py launcher by itself does not satisfy the block below. 2026.1 is x86_64 only and single-tenant. An arm64 host runs the image under emulation and is not a supported topology. The server image is ghcr.io/honua-io/honua-server:2026.1-rc (2026.1-rc.1). A nightly image is not this pin.

The compose file below binds the server to loopback port 8080, sets Licensing__Mode to Disabled, and does not set a development edition grant. These commands were run on Linux against that image. The server became healthy and GET /api/v1/admin/license reported mode disabled. The stack was then removed. PowerShell is not required for the docker compose lines; they are the same on Docker Desktop.

Start the server

# prerequisites: Docker Compose v2, Python 3.11 or later as python3; port 8080 free on loopback
# 2026.1 runs with licensing disabled. Do not set a development edition grant.
export HONUA_SERVER_IMAGE="ghcr.io/honua-io/honua-server:2026.1-rc"
export HONUA_ADMIN_PASSWORD="$(python3 -c 'import secrets; print(secrets.token_hex(32))')"
export HONUA_MASTER_KEY="$(python3 -c 'import secrets; print(secrets.token_hex(32))')"
cat > compose.yaml <<'EOF'
name: honua-fast-lane
services:
  db:
    image: postgis/postgis:16-3.4
    environment:
      POSTGRES_USER: honua
      POSTGRES_PASSWORD: honua
      POSTGRES_DB: honua
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U honua -d honua"]
      interval: 3s
      timeout: 3s
      retries: 30
  honua:
    platform: linux/amd64
    image: ${HONUA_SERVER_IMAGE:?Set HONUA_SERVER_IMAGE to ghcr.io/honua-io/honua-server:2026.1-rc}
    depends_on:
      db:
        condition: service_healthy
    environment:
      ASPNETCORE_ENVIRONMENT: Development
      ConnectionStrings__DefaultConnection: Host=db;Port=5432;Database=honua;Username=honua;Password=honua
      HONUA_ADMIN_PASSWORD: ${HONUA_ADMIN_PASSWORD:?Set HONUA_ADMIN_PASSWORD}
      Security__ConnectionEncryption__MasterKey: ${HONUA_MASTER_KEY:?Set HONUA_MASTER_KEY}
      Licensing__Mode: Disabled
      HostValidation__AllowedHosts: "*"
      AllowedHosts: "*"
    ports:
      - "127.0.0.1:8080:8080"
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- --header=\"X-API-Key: $${HONUA_ADMIN_PASSWORD}\" http://localhost:8080/api/v1/admin/license | grep -Eq '\"mode\"[[:space:]]*:[[:space:]]*\"disabled\"'"]
      interval: 5s
      timeout: 5s
      retries: 60
      start_period: 20s
EOF
docker compose -f compose.yaml up -d --wait
docker compose -f compose.yaml ps
docker image inspect --format '{{index .RepoDigests 0}}' "$HONUA_SERVER_IMAGE"

On Windows, run that block in Git Bash with Docker Desktop set to Linux containers. Do not point HONUA_SERVER_IMAGE at a nightly digest. Certificate-store and ACL commands are not part of this quickstart.

Stop the stack

docker compose -f compose.yaml down -v

SDK install paths are on the compatibility page.