this repo has no description

Compare changes

Choose any two refs to compare.

Changed files
+52 -4
rootfs
etc
ssh
+22
license.txt
···
···
+
MIT License
+
+
Copyright (c) 2025 Tangled Team
+
+
Permission is hereby granted, free of charge, to any person obtaining a copy
+
of this software and associated documentation files (the "Software"), to deal
+
in the Software without restriction, including without limitation the rights
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
copies of the Software, and to permit persons to whom the Software is
+
furnished to do so, subject to the following conditions:
+
+
The above copyright notice and this permission notice shall be included in all
+
copies or substantial portions of the Software.
+
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
SOFTWARE.
+
+3
rootfs/etc/ssh/sshd_config.d/authorized_keys_command.conf
···
···
+
Match User git
+
AuthorizedKeysCommand /usr/bin/knot keys -o authorized-keys -git-dir /home/git/repositories
+
AuthorizedKeysCommandUser nobody
+6 -1
Dockerfile
···
label org.opencontainers.image.vendor='tangled.sh'
label org.opencontainers.image.licenses='MIT'
copy rootfs .
run chmod 755 /etc
run chmod -R 755 /etc/s6-overlay
run apk add shadow s6-overlay execline openssl openssh git curl bash
-
run useradd -d /home/git git && openssl rand -hex 16 | passwd --stdin git
run mkdir -p /home/git/repositories && chown -R git:git /home/git
copy --from=builder /usr/bin/knot /usr/bin
run mkdir /app && chown -R git:git /app
···
label org.opencontainers.image.vendor='tangled.sh'
label org.opencontainers.image.licenses='MIT'
+
arg UID=1000
+
arg GID=1000
+
copy rootfs .
run chmod 755 /etc
run chmod -R 755 /etc/s6-overlay
run apk add shadow s6-overlay execline openssl openssh git curl bash
+
run groupadd -g $GID -f git
+
run useradd -u $UID -g $GID -d /home/git git
+
run openssl rand -hex 16 | passwd --stdin git
run mkdir -p /home/git/repositories && chown -R git:git /home/git
copy --from=builder /usr/bin/knot /usr/bin
run mkdir /app && chown -R git:git /app
+5 -1
docker-compose.yml
···
services:
knot:
-
build: .
environment:
KNOT_SERVER_HOSTNAME: ${KNOT_SERVER_HOSTNAME}
KNOT_SERVER_OWNER: ${KNOT_SERVER_OWNER}
···
services:
knot:
+
build:
+
context: .
+
args:
+
UID: 1000
+
GID: 1000
environment:
KNOT_SERVER_HOSTNAME: ${KNOT_SERVER_HOSTNAME}
KNOT_SERVER_OWNER: ${KNOT_SERVER_OWNER}
+16 -2
readme.md
···
The command above for example will build the latest commit on the `master`
branch.
<hr style="margin-bottom: 20px; margin-top: 10px" />
-
When using compose, it can be specified as a build argument which will be
passed to the builder.
```yaml
build:
context: .
-
args: { TAG: master }
```
This will for example tell docker to build it using the `master` branch like
···
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.
+
+
```sh
+
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.
+
<hr style="margin-bottom: 20px; margin-top: 10px" />
+
When using compose, these can be specified as build arguments which will be
passed to the builder.
```yaml
build:
context: .
+
args:
+
TAG: master
+
UID: 1000
+
GID: 1000
```
This will for example tell docker to build it using the `master` branch like