A lowly tech priest's attempt to please Mars
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

README.md

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