Customise UID/GID for Docker (#63)

This commit is contained in:
Thomas Miceli 2023-06-18 12:50:36 +02:00 committed by GitHub
parent 98c85de3d6
commit da19e486f2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 8 deletions

View file

@ -21,10 +21,11 @@ COPY . .
RUN make
FROM alpine:3.17
FROM alpine:3.17 as run
RUN apk update && \
apk add --no-cache \
shadow \
openssl \
openssh \
curl \
@ -36,10 +37,14 @@ RUN apk update && \
musl-dev \
libstdc++
WORKDIR /opengist
RUN addgroup -S opengist && \
adduser -S -G opengist -H -s /bin/ash -g 'Opengist User' opengist
COPY --from=build /opengist/opengist .
WORKDIR /app/opengist
COPY --from=build --chown=opengist:opengist /opengist/opengist .
COPY --from=build --chown=opengist:opengist /opengist/docker ./docker
EXPOSE 6157 2222
VOLUME /root/.opengist
CMD ["./opengist"]
VOLUME /opengist
ENTRYPOINT ["./docker/entrypoint.sh"]

View file

@ -56,9 +56,9 @@ A self-hosted pastebin **powered by Git**. [Try it here](https://opengist.thomic
A Docker [image](https://github.com/thomiceli/opengist/pkgs/container/opengist), available for each release, can be pulled
```shell
docker pull ghcr.io/thomiceli/opengist:1.3 # most recent release
docker pull ghcr.io/thomiceli/opengist:1.3 # most recent release, stable
docker pull ghcr.io/thomiceli/opengist:latest # latest development version
docker pull ghcr.io/thomiceli/opengist:latest # latest development version, unstable
```
It can be used in a `docker-compose.yml` file :
@ -79,7 +79,18 @@ services:
- "6157:6157" # HTTP port
- "2222:2222" # SSH port, can be removed if you don't use SSH
volumes:
- "$HOME/.opengist:/root/.opengist"
- "$HOME/.opengist:/opengist"
```
You can define which user/group should run the container and own the files by setting the `UID` and `GID` environment variables :
```yml
services:
opengist:
# ...
environment:
UID: 1001
GID: 1001
```
### From source

13
docker/entrypoint.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/sh
export USER=opengist
PID=${PID:-1000}
GID=${GID:-1000}
groupmod -o -g "$GID" $USER
usermod -o -u "$PID" $USER
chown -R "$USER:$USER" /opengist
export OG_OPENGIST_HOME=/opengist
su -m $USER -c "/app/opengist/opengist"