- Removed unnecessary variables - Fixed symbolic links creation - Fixed enter point - Less intermediate containerstags/v1.21.12.1
| @@ -9,21 +9,13 @@ RUN echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/ | |||||
| && apk -U --no-progress add ca-certificates bash git linux-pam s6@edge curl openssh socat \ | && apk -U --no-progress add ca-certificates bash git linux-pam s6@edge curl openssh socat \ | ||||
| && chmod +x /usr/sbin/gosu | && chmod +x /usr/sbin/gosu | ||||
| # Configure Go and build Gogs | |||||
| ENV GOPATH /tmp/go | |||||
| ENV PATH $PATH:$GOPATH/bin | |||||
| ENV GOGS_CUSTOM /data/gogs | |||||
| COPY . /app/gogs/ | COPY . /app/gogs/ | ||||
| WORKDIR /app/gogs/ | WORKDIR /app/gogs/ | ||||
| RUN ./docker/build.sh | RUN ./docker/build.sh | ||||
| ENV GOGS_CUSTOM /data/gogs | |||||
| # Create git user for Gogs | |||||
| RUN adduser -D -g 'Gogs Git User' git -h /data/git/ -s /bin/sh && passwd -u git | |||||
| RUN echo "export GOGS_CUSTOM=/data/gogs" >> /etc/profile | |||||
| # Configure Docker Container | # Configure Docker Container | ||||
| VOLUME ["/data"] | VOLUME ["/data"] | ||||
| EXPOSE 22 3000 | EXPOSE 22 3000 | ||||
| CMD ["./docker/start.sh"] | |||||
| CMD ["docker/start.sh"] | |||||
| @@ -1,5 +1,9 @@ | |||||
| #!/bin/sh | #!/bin/sh | ||||
| # Set temp environment vars | |||||
| export GOPATH=/tmp/go | |||||
| export PATH=${PATH}:${GOPATH}/bin | |||||
| # Install build deps | # Install build deps | ||||
| apk -U --no-progress add linux-pam-dev go@community gcc musl-dev | apk -U --no-progress add linux-pam-dev go@community gcc musl-dev | ||||
| @@ -15,3 +19,7 @@ rm -r $GOPATH | |||||
| # Remove build deps | # Remove build deps | ||||
| apk --no-progress del linux-pam-dev go gcc musl-dev | apk --no-progress del linux-pam-dev go gcc musl-dev | ||||
| # Create git user for Gogs | |||||
| adduser -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && passwd -u git | |||||
| echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile | |||||
| @@ -1,6 +1,5 @@ | |||||
| #!/bin/sh | #!/bin/sh | ||||
| USER=git | USER=git | ||||
| USERNAME=$USER | |||||
| if ! test -d /data/gogs; then | if ! test -d /data/gogs; then | ||||
| mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git | mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git | ||||
| @@ -12,17 +11,16 @@ if ! test -d ~git/.ssh; then | |||||
| fi | fi | ||||
| if ! test -f ~git/.ssh/environment; then | if ! test -f ~git/.ssh/environment; then | ||||
| echo "GOGS_CUSTOM=/data/gogs" > ~git/.ssh/environment | |||||
| chown git:git ~git/.ssh/environment | |||||
| chown 600 ~git/.ssh/environment | |||||
| echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment | |||||
| chmod 600 ~git/.ssh/environment | |||||
| fi | fi | ||||
| ln -sf /data/gogs/log /app/gogs/log | |||||
| ln -sf /data/gogs/data /app/gogs/data | |||||
| ln -sf /data/gogs/conf /app/gogs/conf | |||||
| cd /app/gogs | |||||
| ln -sf /data/gogs/log ./log | |||||
| ln -sf /data/gogs/data ./data | |||||
| chown -R git:git /data /app/gogs ~git/ | chown -R git:git /data /app/gogs ~git/ | ||||
| export USER | export USER | ||||
| export USERNAME | |||||
| exec gosu $USER /app/gogs/gogs web | exec gosu $USER /app/gogs/gogs web | ||||