Browse Source

Merge pull request #1731 from ogarcia/develop

Several bugfixes in Docker build
无闻 7 years ago
parent
commit
e5310cdbc1
3 changed files with 16 additions and 18 deletions
  1. 2 10
      Dockerfile
  2. 8 0
      docker/build.sh
  3. 6 8
      docker/s6/gogs/run

+ 2 - 10
Dockerfile

@@ -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 \
  && 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/
 WORKDIR /app/gogs/
 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
 VOLUME ["/data"]
 EXPOSE 22 3000
-CMD ["./docker/start.sh"]
+CMD ["docker/start.sh"]

+ 8 - 0
docker/build.sh

@@ -1,5 +1,9 @@
 #!/bin/sh
 
+# Set temp environment vars
+export GOPATH=/tmp/go
+export PATH=${PATH}:${GOPATH}/bin
+
 # Install build deps
 apk -U --no-progress add linux-pam-dev go@community gcc musl-dev
 
@@ -15,3 +19,7 @@ rm -r $GOPATH
 
 # Remove build deps
 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

+ 6 - 8
docker/s6/gogs/run

@@ -1,6 +1,5 @@
 #!/bin/sh
 USER=git
-USERNAME=$USER
 
 if ! test -d /data/gogs; then
 	mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git
@@ -12,17 +11,16 @@ if ! test -d ~git/.ssh; then
 fi
 
 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
 
-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/
 
 export USER
-export USERNAME
 exec gosu $USER /app/gogs/gogs web