# Knot Docker > **IMPORTANT** > This is a community maintained repository, support is not guaranteed. Docker container and compose setup to run a [Tangled](https://tangled.org) knot and spindle, hosting your own repository data and CI. ## Pre-built Images There is a [repository](https://hub.docker.com/r/tngl) of pre-built images for tags starting at `v1.8.0-alpha` if you prefer. ```sh docker pull tngl/knot:v1.10.0-alpha docker pull tngl/spindle:v1.10.0-alpha ``` Note that these are *not* official images, you use them at your own risk. ## Building The Images Both the knot and spindle images are built using the same `Dockerfile`, since they're sourced from the same codebase and can therefore share a lot of the build steps (such as `go mod download`), caching results between them. You can build the images locally by running `docker bake`: ```sh docker bake ``` Optionally, choose a target image to build: ```sh docker bake knot docker bake spindle ``` By default this will build the latest tag, but you can target a specific tag like so: ```sh docker bake knot-v1-10-0-alpha spindle-v1-10-0-alpha ``` The command above for example will build the `v1.10.0-alpha` tag for both the `knot` and `spindle`. They're expressed as individual bake targets, so you can also optionally specify just one to build at a specific version. You can also build all tagged releases: ```sh docker bake all ``` By default it will also create a `git` / `spindle` user with user and group ID 1000:1000, but you can change it with the `UID` and `GID` build arguments. ```sh docker bake 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. You can also build the latest commit on `master` for both services by using the `-edge` targets. These will build to a tag named `:edge` to distinguish it from the `:latest` release: ```sh docker bake edge # # or, with a specific target image... # docker bake edge-knot docker bake edge-spindle ```