bram.gotink.be knot

data server for tangled

0 0 pulls 5 Updated 14h
v1.14.0-alpha MIT Source
linux/amd64 linux/arm64 Multi-arch
docker pull atcr.io/bram.gotink.be/knot:latest
Image Size Layers
53.0 MB 24
Pushed 14h
Vulnerabilities
Loading...
Pulls
0 total
No pulls yet

knot

OCI Container to run your own tangled knot and host the data of your own repositories.

Pre-built Images

Pre-built images are available in an ATCR repository starting at v1.12.0-alpha.

docker pull atcr.io/bram.gotink.be/knot

This image differs from the pseudo-official tngl/knot image.
The code is the same, but the image is set up differently:

  • It is designed to be run with a non-root user (userid 10999), although root works just fine if you prefer
  • Allow the OCI runtime to restart the container if anything fails, rather than package an entire init system that manages these programs

Building The Image

docker build --platform linux/amd64,linux/arm64 -t atcr.io/bram.gotink.be/knot --build-arg VERSION=v1.13.0-alpha .

Setting Up The Image

This image is designed to work with stricter permissions in e.g. kubernetes.

The container requires three volumes:

Environment variable Default value Usage
KNOT_REPO_SCAN_PATH /repositories storage directory the repositories
KNOT_SERVER_DB_PATH /data/knotserver.db the sqlite database, should be placed inside a volume
KNOT_SSH_KEYS_PATH /ssh-keys directory in which to store SSH host keys

Two environment variables are required:

Environment variable Usage
KNOT_SERVER_HOSTNAME Domain name of the server (example.com)
KNOT_SERVER_OWNER Did of the owner (user account) of the knot server (did:plc:yourdidgoeshere)

The container listens on two ports:

  • 5555 handles HTTP traffic and should be mapped onto port 443
  • 2222 handles SSH and should be mapped onto port 22