I couldn't push or pull from any repositories until I set -git-dir following the instructions in knot-hosting, so maybe this file should just created when creating the Dockerfile?
NEW
Dockerfile
NEW
Dockerfile
···
20
20
label org.opencontainers.image.vendor='tangled.sh'
21
21
label org.opencontainers.image.licenses='MIT'
22
22
23
+
arg UID=1000
24
+
arg GID=1000
25
+
23
26
copy rootfs .
24
27
run chmod 755 /etc
25
28
run chmod -R 755 /etc/s6-overlay
26
29
run apk add shadow s6-overlay execline openssl openssh git curl bash
27
-
run useradd -d /home/git git && openssl rand -hex 16 | passwd --stdin git
30
+
run groupadd -g $GID -f git
31
+
run useradd -u $UID -g $GID -d /home/git git
32
+
run openssl rand -hex 16 | passwd --stdin git
28
33
run mkdir -p /home/git/repositories && chown -R git:git /home/git
29
34
copy --from=builder /usr/bin/knot /usr/bin
30
35
run mkdir /app && chown -R git:git /app
NEW
readme.md
NEW
readme.md
···
29
29
The command above for example will build the latest commit on the `master`
30
30
branch.
31
31
32
+
By default it will also create a `git` user with user and group ID 1000:1000,
33
+
but you can change it with the `UID` and `GID` build arguments.
34
+
35
+
```sh
36
+
docker build -t knot:latest --build-arg UID=(id -u) GID=(id -u)
37
+
```
38
+
39
+
The command above for example will create a user with the host user's UID and GID.
40
+
This is useful if you are bind mounting the repositories and app folder on the host,
41
+
as in the provided `docker-compose.yml` file.
42
+
32
43
<hr style="margin-bottom: 20px; margin-top: 10px" />
33
44
34
45
When using compose, it can be specified as a build argument which will be