Browse Source

Several bugfixes in Docker build

- Removed unnecessary variables
- Fixed symbolic links creation
- Fixed enter point
- Less intermediate containers
pull/1731/head
Óscar García Amor 9 years ago
parent
commit
3e7d8db7a2
  1. 12
      Dockerfile
  2. 8
      docker/build.sh
  3. 14
      docker/s6/gogs/run

12
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 \ && 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 GOGS_CUSTOM /data/gogs
ENV GOPATH /tmp/go
ENV PATH $PATH:$GOPATH/bin
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"]

8
docker/build.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

14
docker/s6/gogs/run

@ -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 echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
chown git:git ~git/.ssh/environment chmod 600 ~git/.ssh/environment
chown 600 ~git/.ssh/environment
fi fi
ln -sf /data/gogs/log /app/gogs/log cd /app/gogs
ln -sf /data/gogs/data /app/gogs/data
ln -sf /data/gogs/conf /app/gogs/conf 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

Loading…
Cancel
Save