mirror of https://github.com/go-gitea/gitea
#1521 reduce Docker image size
parent
c256fc4438
commit
be90ea583a
@ -0,0 +1,12 @@ |
|||||||
|
.git/* |
||||||
|
conf/* |
||||||
|
packager/* |
||||||
|
scripts/* |
||||||
|
*.yml |
||||||
|
*.md |
||||||
|
.bra.toml |
||||||
|
.editorconfig |
||||||
|
.gitignore |
||||||
|
.gopmfile |
||||||
|
config.codekit |
||||||
|
LICENSE |
@ -1,39 +1,54 @@ |
|||||||
FROM google/golang:latest |
FROM google/debian:wheezy |
||||||
MAINTAINER codeskyblue@gmail.com |
MAINTAINER u@gogs.io |
||||||
|
|
||||||
RUN echo "deb http://ftp.debian.org/debian/ wheezy-backports main" >> /etc/apt/sources.list |
RUN echo "deb http://ftp.debian.org/debian/ wheezy-backports main" >> /etc/apt/sources.list && \ |
||||||
RUN apt-get update |
apt-get update -qqy && \ |
||||||
RUN apt-get install -y openssh-server rsync libpam-dev |
apt-get install --no-install-recommends -qqy \ |
||||||
|
curl build-essential ca-certificates git \ |
||||||
# set the working directory and add current stuff |
openssh-server rsync libpam-dev && \ |
||||||
COPY . /gopath/src/github.com/gogits/gogs/ |
apt-get autoclean && \ |
||||||
|
apt-get autoremove && \ |
||||||
|
rm -rf /var/lib/apt/lists/* |
||||||
|
|
||||||
|
ENV GOROOT /goroot |
||||||
|
ENV GOPATH /gopath |
||||||
|
ENV PATH $PATH:$GOROOT/bin:$GOPATH/bin |
||||||
|
|
||||||
|
COPY . /gopath/src/github.com/gogits/gogs/ |
||||||
WORKDIR /gopath/src/github.com/gogits/gogs/ |
WORKDIR /gopath/src/github.com/gogits/gogs/ |
||||||
|
|
||||||
RUN go get -v -tags "sqlite redis memcache cert pam" |
# Build binary and clean up useless files |
||||||
RUN go build -tags "sqlite redis memcache cert pam" |
RUN mkdir /goroot && \ |
||||||
|
curl https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz | tar xzf - -C /goroot --strip-components=1 && \ |
||||||
|
go get -v -tags "sqlite redis memcache cert pam" && \ |
||||||
|
go build -tags "sqlite redis memcache cert pam" && \ |
||||||
|
mkdir /app/ && \ |
||||||
|
mv /gopath/src/github.com/gogits/gogs/ /app/gogs/ && \ |
||||||
|
rm -r $GOROOT $GOPATH |
||||||
|
|
||||||
|
WORKDIR /app/gogs/ |
||||||
|
|
||||||
RUN useradd --shell /bin/bash --system --comment gogits git |
RUN useradd --shell /bin/bash --system --comment gogits git |
||||||
|
|
||||||
RUN mkdir /var/run/sshd |
# SSH login fix, otherwise user is kicked off after login |
||||||
# SSH login fix. Otherwise user is kicked off after login |
RUN mkdir /var/run/sshd && \ |
||||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ |
||||||
RUN sed 's@UsePrivilegeSeparation yes@UsePrivilegeSeparation no@' -i /etc/ssh/sshd_config |
sed 's@UsePrivilegeSeparation yes@UsePrivilegeSeparation no@' -i /etc/ssh/sshd_config && \ |
||||||
RUN echo "export VISIBLE=now" >> /etc/profile |
echo "export VISIBLE=now" >> /etc/profile && \ |
||||||
RUN echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config |
echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config |
||||||
|
|
||||||
# setup server keys on startup |
# Setup server keys on startup |
||||||
RUN sed 's@^HostKey@\#HostKey@' -i /etc/ssh/sshd_config |
RUN sed 's@^HostKey@\#HostKey@' -i /etc/ssh/sshd_config && \ |
||||||
RUN echo "HostKey /data/ssh/ssh_host_key" >> /etc/ssh/sshd_config |
echo "HostKey /data/ssh/ssh_host_key" >> /etc/ssh/sshd_config && \ |
||||||
RUN echo "HostKey /data/ssh/ssh_host_rsa_key" >> /etc/ssh/sshd_config |
echo "HostKey /data/ssh/ssh_host_rsa_key" >> /etc/ssh/sshd_config && \ |
||||||
RUN echo "HostKey /data/ssh/ssh_host_dsa_key" >> /etc/ssh/sshd_config |
echo "HostKey /data/ssh/ssh_host_dsa_key" >> /etc/ssh/sshd_config && \ |
||||||
RUN echo "HostKey /data/ssh/ssh_host_ecdsa_key" >> /etc/ssh/sshd_config |
echo "HostKey /data/ssh/ssh_host_ecdsa_key" >> /etc/ssh/sshd_config && \ |
||||||
RUN echo "HostKey /data/ssh/ssh_host_ed25519_key" >> /etc/ssh/sshd_config |
echo "HostKey /data/ssh/ssh_host_ed25519_key" >> /etc/ssh/sshd_config |
||||||
|
|
||||||
# prepare data |
# Prepare data |
||||||
#ENV USER="git" HOME="/home/git" |
|
||||||
ENV GOGS_CUSTOM /data/gogs |
ENV GOGS_CUSTOM /data/gogs |
||||||
RUN echo "export GOGS_CUSTOM=/data/gogs" >> /etc/profile |
RUN echo "export GOGS_CUSTOM=/data/gogs" >> /etc/profile |
||||||
|
|
||||||
EXPOSE 22 3000 |
EXPOSE 22 3000 |
||||||
ENTRYPOINT [] |
ENTRYPOINT [] |
||||||
CMD ["./docker/start.sh"] |
CMD ["./docker/start.sh"] |
Loading…
Reference in new issue