Sign inSign up

paularlott/knot-go

By paularlott

•Updated about 8 hours ago

Go runtime Knot image with the official Go toolchain for building and running Go apps.

Image
Developer tools
0

1.7K

paularlott/knot-go repository overview

⁠knot-go

A Go⁠ development image for knot⁠ spaces, combining knot-ubuntu with the official Go toolchain. It is a pure runtime image — no web server — so you run your own process or compiled binary.

It inherits the full knot entrypoint, runtime user, rsyslog logging and startup-hook framework from knot-ubuntu.

⁠Tags

All tags are multi-arch (linux/amd64, linux/arm64); see Docker Hub⁠ for the current list.

Go is installed from the official go.dev⁠ tarball; the <version> tag tracks the latest patch of that Go release line (e.g. 1.26 → 1.26.x). Each release is also tagged <version>-<BUILD_DATE>.

⁠Usage

docker run -d \
  -e KNOT_SERVER=https://knot.example.com \
  -e KNOT_USER=alice \
  -v knot_home:/home \
  paularlott/knot-go:1.26

Then, in the space:

go mod init hello
cat > main.go <<'EOF'
package main
import "fmt"
func main() { fmt.Println("hello, knot") }
EOF
go run main.go

⁠How it works

Builds on knot-ubuntu:26.04. The Go toolchain (the latest <version>.x stable release) is unpacked into /usr/local/go (GOROOT), with GOPATH=/home/.go so go installed binaries and the module cache persist with the /home volume. gcc/build-essential are included for CGO⁠.

⁠Environment variables

Built on knot-ubuntu, so it supports the common knot variables:

VariableDefaultDescription
KNOT_USERknotRuntime user (uid 1000); created if missing
KNOT_SERVER(unset)knot server URL; if set, the agent is downloaded and started
KNOT_AGENT_ENDPOINT(unset)Agent endpoint reported to the server
KNOT_SPACEID(unset)Space identifier
KNOT_SERVICE_PASSWORD(auto-generated UUID)Shared service password
KNOT_SSHD(unset)Set to native to start sshd
KNOT_SSH_PORT2222Port for the SSH daemon
KNOT_SYSLOG_PORT1514Syslog forward target (0 disables forwarding)
TZEtc/UTCTimezone

Go-specific:

VariableDefaultDescription
GOROOT/usr/local/goGo installation root
GOPATH/home/.goWorkspace / module cache (persisted via /home)

⁠Volumes

  • /home — persistent home directory; GOPATH (/home/.go) lives here.

⁠License

Go is BSD-3-Clause⁠. This image's packaging — the Dockerfile and supporting scripts/configs — is Apache License 2.0⁠.

Source: paularlott/knot-base-images⁠.

Tag summary

Content type

Image

Digest

sha256:ac529ed7e…

Size

361.1 MB

Last updated

about 8 hours ago

docker pull paularlott/knot-go:1.27-20260929