Community maintained Docker config for the spindle server
Dockerfile 47.4%
Shell 11.7%
Other 40.9%
28 2 0

Clone this repository

https://tangled.org/keea.dog/knot-spindle
git@knot.keea.dog:keea.dog/knot-spindle

For self-hosted knots, clone URLs may differ based on your setup.

readme.md

Knot Docker#

IMPORTANT This is a community maintained repository, support is not guaranteed.

Docker container and compose setup to run a Tangled knot and host your own repository data.

Pre-built Images#

There is a repository of pre-built images for tags starting at v1.8.0-alpha if you prefer.

docker pull tngl/knot:v1.10.0-alpha

Note that these are not official images, you use them at your own risk.

Building The Image#

By default the Dockerfile will build the latest tag, but you can change it with the TAG build argument.

docker build -t knot:latest --build-arg TAG=master .

The command above for example will build the latest commit on the master branch.

By default it will also create a git user with user and group ID 1000:1000, but you can change it with the UID and GID build arguments.

docker build -t knot:latest --build-arg UID=$(id -u) GID=$(id -g)

The command above for example will create a user with the host user's UID and GID. This is useful if you are bind mounting the repositories and app folder on the host, as in the provided docker-compose.yml file.


When using compose, these can be specified as build arguments which will be passed to the builder.

build:
  context: .
  args:
    TAG: master
    UID: 1000
    GID: 1000

This will for example tell docker to build it using the master branch like the command.

Setting Up The Image#

The simplest way to set up your own knot is to use the provided compose file and run the following:

export KNOT_SERVER_HOSTNAME=example.com
export KNOT_SERVER_OWNER=did:plc:yourdidgoeshere
export KNOT_SERVER_PORT=443
docker compose up -d

This will setup everything for you including a reverse proxy.