seafile-server alpine based multi-stage

This commit is contained in:
Gerrit Gogel 2021-01-23 12:12:46 +01:00
parent aba2900172
commit e5c2e81481

View file

@ -1,39 +1,47 @@
# See https://hub.docker.com/r/phusion/baseimage/tags/
FROM phusion/baseimage:bionic-1.0.0
FROM alpine:3.13 AS get
RUN apk add --no-cache wget
ENV SEAFILE_SERVER=seafile-server SEAFILE_VERSION=8.0.2
RUN export DEBIAN_FRONTEND=noninteractive
# Package installation
RUN apt-get update --fix-missing && apt-get install -y vim htop net-tools psmisc wget curl git socat \
tzdata \
nginx \
python3 python3-pip python3-setuptools \
libmysqlclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /opt/seafile/ && cd /opt/seafile/ && \
RUN cd /tmp && \
wget https://download.seadrive.org/seafile-server_${SEAFILE_VERSION}_x86-64.tar.gz && \
tar -zxvf seafile-server_${SEAFILE_VERSION}_x86-64.tar.gz && \
rm -f seafile-server_${SEAFILE_VERSION}_x86-64.tar.gz
# Python3
RUN python3.6 -m pip install --upgrade pip \
&& pip3 install --timeout=3600 click termcolor colorlog pymysql \
Pillow pylibmc captcha jinja2 sqlalchemy django==1.11.29 django-pylibmc django-simple-captcha \
future mysqlclient \
&& rm -r /root/.cache/pip
FROM alpine:3.9 as pip
# Scripts
RUN apk add --no-cache \
python3-dev \
py3-pip \
py3-setuptools
RUN python3 -m pip install --upgrade pip &&\
pip3 install --timeout=3600 \
click \
termcolor \
colorlog \
pymysql
FROM alpine:3.9
RUN apk add --no-cache \
bash \
socat \
tzdata \
python3 \
mariadb-dev \
procps \
psmisc
ENV SEAFILE_VERSION=8.0.2
ENV LD_LIBRARY_PATH=/lib:/usr/lib
COPY --from=get /tmp/seafile-server-${SEAFILE_VERSION} /opt/seafile/seafile-server-${SEAFILE_VERSION}
COPY --from=pip /usr/lib/python3.6/site-packages /usr/lib/python3.6/site-packages
COPY scripts /scripts
RUN chmod u+x /scripts/*
# Seafile
WORKDIR /opt/seafile
# For using TLS connection to LDAP/AD server with docker-ce.
RUN find /opt/seafile/ \( -name "liblber-*" -o -name "libldap-*" -o -name "libldap_r*" -o -name "libsasl2.so*" \) -delete
WORKDIR?
EXPOSE 8080 8082 8001
CMD ["/sbin/my_init", "--", "/scripts/start.sh"]
CMD ["/scripts/start.sh"]