···11# Tangled.sh Knot
2233These are the config files for the Tangled knot hosted at [knot.ionchy.ca](https://knot.ionchy.ca),
44-built using [knot-docker](https://tangled.sh/@tangled.sh/knot-docker).
44+built using [knot-docker](https://tangled.sh/@ionchy.ca/knot-docker).
55+Detailed instructions on hosting a knot can be found at [knot-hosting](https://tangled.sh/@ionchy.ca/knot-docker).
5667## Docker installation
7888-1. In `knot-docker` diretory, create Docker image with `docker build -t knot:latest --build-arg TAG=master .`
99+These instructions assume a user `www-data` on the host for Docker to use.
1010+1111+1. In `knot-docker` directory, create Docker image with
1212+ `docker build -t knot:latest --build-arg TAG=master --build-arg UID=$(id -u www-data) --build-arg GID=$(id -u www-data) .`
9132. In this directory, create bind mount directories with `mkdir keys repositories server`
1010-3. Ensure `repositories` and `server` are owned by a USER with UID/GUID `1000:1000`
1111- with `chown USER:USER repositories server`
1414+3. Ensure `repositories` and `server` are owned by `www-data`
1515+ with `chown www-data:www-data repositories server`
12164. Edit `docker-compose.yml` with appropriate `KNOT_SERVER_HOSTNAME` and `KNOT_SERVER_OWNER`
13174. Create Docker container with `docker-compose up -d`
14185. Knot is now ready for reverse proxy from `KNOT_SERVER_HOSTNAME:443` to local port 5555
1519 (knot verification will not work over HTTP port 80!)
16202121+<!--
1722Once the container is up, the Git repositories directory
1823needs to be specified explicitly as `/home/git/repositories` in `AuthorizedKeysCommand`
1924(see [knot-hosting](https://tangled.sh/@tangled.sh/core/blob/master/docs/knot-hosting.md#repositories)).
···2631```
27322833(This should probably be done in the Dockerfile when building the image.)
3434+-->
29353036## Repository troubleshooting
3137