skillhub/docs/RISCV64.md
D41910 db6308adde fix(web): align namespace slug validation with SlugValidator
The create-namespace dialog validates slugs client-side before sending
the request, and its pattern was still ASCII-only. SlugValidator has
accepted Unicode letters, numbers and symbols since #196, so the form
rejected slugs the server accepts.

Signed-off-by: D41910 <158550716+D41910@users.noreply.github.com>
2026-10-15 01:22:38 +08:00

2.2 KiB

RISC-V (linux/riscv64) support

Current scope

RISC-V support is incremental. The SkillHub server and web images have linux/riscv64 build and runtime paths. The security scanner and the complete Docker Compose deployment are not yet supported on RISC-V.

Component linux/riscv64 status Notes
skillhub-server Supported The architecture-neutral Java 21 JAR is built on the Buildx host and copied into the target-architecture Eclipse Temurin runtime.
skillhub-web Supported Static assets are built on the Buildx host and served by a target-architecture Nginx runtime.
skillhub-scanner Not yet verified Its Python dependency tree still needs a native-extension and runtime audit.
PostgreSQL 16 and Redis 7 Upstream images available Keep these images explicitly pinned and verify them on the target board before production use.
Complete Compose stack Unsupported compose.release.yml starts the unverified scanner, so do not deploy it unchanged on RISC-V.

Build the supported images

Buildx can create both images from an AMD64 or ARM64 host. Register a RISC-V QEMU handler before running these commands when the host is not RISC-V:

docker run --privileged --rm tonistiigi/binfmt --install riscv64
docker buildx create --use --name skillhub-riscv64

docker buildx build \
  --platform linux/riscv64 \
  --file server/Dockerfile \
  --tag skillhub-server:riscv64 \
  --load \
  server

docker buildx build \
  --platform linux/riscv64 \
  --file web/Dockerfile \
  --tag skillhub-web:riscv64 \
  --load \
  web

The release workflow publishes linux/amd64, linux/arm64, and linux/riscv64 variants for skillhub-server and skillhub-web. The scanner remains limited to its existing AMD64/ARM64 platform list.

Verification boundary

The pull-request workflow builds both supported target images, checks their OCI architecture metadata, and executes the Java and Nginx runtimes under RISC-V emulation. This is a component-image guardrail, not a full-stack integration test. A native RISC-V smoke test with PostgreSQL, Redis, object storage, and a verified scanner remains required before claiming complete deployment support.