seafile-containerized/seafile-server/Dockerfile

101 lines
4.1 KiB
Docker
Raw Normal View History

2024-07-28 19:51:27 +00:00
FROM ubuntu:jammy@sha256:340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221 AS build
2024-07-28 19:51:27 +00:00
RUN apt-get update && \
2024-07-28 22:30:14 +00:00
apt-get install -y software-properties-common wget && \
add-apt-repository ppa:longsleep/golang-backports
2024-08-07 10:23:37 +00:00
ENV SEAFILE_VERSION=11.0.11
2024-07-28 19:51:27 +00:00
WORKDIR /tmp
RUN wget https://raw.githubusercontent.com/haiwen/seafile-docker/master/build/seafile-build.sh
RUN wget https://raw.githubusercontent.com/haiwen/seafile-docker/master/build/seafile-build.py
RUN chmod +x ./seafile-build.sh
RUN ./seafile-build.sh ${SEAFILE_VERSION}
2021-01-21 01:32:46 +00:00
FROM alpine:3.20.2 AS clean
2024-08-07 10:23:37 +00:00
ENV SEAFILE_VERSION=11.0.11
2024-07-28 19:51:27 +00:00
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION} /tmp/seafile-server-${SEAFILE_VERSION}
RUN rm -rf /tmp/seafile-server-${SEAFILE_VERSION}/seahub
FROM ubuntu:jammy@sha256:340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221 AS pip
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
python3 \
python3-pip \
libldap2-dev \
libsasl2-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install --target /pip-deps --timeout=3600 --no-cache-dir \
sqlalchemy==2.0.31 \
2024-02-19 10:00:31 +00:00
click==8.1.7 \
2024-02-19 10:05:18 +00:00
termcolor==2.4.0 \
2024-02-19 10:03:03 +00:00
colorlog==6.8.2 \
2024-05-21 22:45:44 +00:00
pymysql==1.1.1 \
2024-05-06 00:46:45 +00:00
jinja2==3.1.4 \
pycryptodome==3.20.0 \
2024-05-13 06:56:05 +00:00
lxml==5.2.2 \
python-ldap==3.4.4 \
pytz==2024.1 \
django==4.2.14 \
2024-08-01 19:10:10 +00:00
requests==2.32.3 \
PyYAML==6.0.1 \
defusedxml==0.7.1 \
json5==0.9.25
RUN find /pip-deps -name "__pycache__" -type d -exec rm -r {} + && \
rm -rf /pip-deps/pip /pip-deps/wheel /pip-deps/setuptools
FROM ubuntu:jammy@sha256:340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221
2024-08-07 10:23:37 +00:00
ENV SEAFILE_VERSION=11.0.11
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
netcat-openbsd \
socat \
2021-02-01 17:13:29 +00:00
cron \
tzdata \
psmisc \
net-tools \
libmariadb-dev \
ldap-utils \
ca-certificates \
python3 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=pip /pip-deps /usr/local/lib/python3.10/dist-packages
COPY --from=clean /tmp/seafile-server-${SEAFILE_VERSION} /opt/seafile/seafile-server-${SEAFILE_VERSION}
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/seafobj /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/seafobj
2024-08-01 19:10:10 +00:00
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/wsgidav /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/wsgidav
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/gunicorn /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/gunicorn
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/pkg_resources /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/pkg_resources
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/setuptools /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/thirdpart/setuptools
2024-07-30 13:38:36 +00:00
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/scripts /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/scripts
2024-07-30 13:38:47 +00:00
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/tools /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/tools
2024-07-30 14:02:27 +00:00
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/sql /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/sql
2024-07-28 19:51:27 +00:00
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/media/avatars /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/media/avatars
COPY --from=build /tmp/seafile-server-${SEAFILE_VERSION}/seahub/seahub/settings.py /opt/seafile/seafile-server-${SEAFILE_VERSION}/seahub/seahub/settings.py
COPY scripts /scripts
RUN chmod u+x /scripts/*
RUN mkdir -p /opt/seafile/logs &&\
2021-02-01 17:13:44 +00:00
touch /opt/seafile/logs/common.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/seafile.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/controller.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/ccnet.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/gc.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/seafdav.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/notification-server.log &&\
ln -sf /opt/seafile/logs/common.log /opt/seafile/logs/seafile-monitor.log &&\
2023-10-18 13:36:05 +00:00
mkdir -p /etc/ldap/ && echo "TLS_REQCERT allow" >> /etc/ldap/ldap.conf
EXPOSE 8001 8080 8082 8083
CMD ["/scripts/start.sh"]