Files
duplicati/Installer/Docker/context/Dockerfile
T
Kenneth Hsu 201bb53b29 Add mono-complete to Docker image.
After targeting .NET 4.7.1, some users started encountering errors like:

Could not find method '.ctor' due to a type load error: Could not load
file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
assembly:/opt/duplicati/SharpAESCrypt.exe type:SharpAESCrypt
member:(null)

The TencentCOS and Tardigrade backends are built on .NET Standard 2.0,
and it appears that the dependencies can be awoken even if these
backends are not used.

This fixes #4289.
2020-08-22 15:24:25 -07:00

34 lines
1.0 KiB
Docker

FROM --platform=$TARGETPLATFORM mono:5-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends \
curl \
mono-complete \
libmono-sqlite4.0-cil \
libmono-system-drawing4.0-cil \
libmono-system-net-http-webrequest4.0-cil \
libmono-system-web4.0-cil \
referenceassemblies-pcl && \
rm -rf /var/lib/apt/lists && \
cert-sync /etc/ssl/certs/ca-certificates.crt
ENV TINI_VERSION v0.16.1
RUN curl -L -o /usr/sbin/tini https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-$(dpkg --print-architecture) && \
chmod 0755 /usr/sbin/tini
ENTRYPOINT ["/usr/sbin/tini", "--"]
ENV XDG_CONFIG_HOME=/data
VOLUME /data
COPY context/duplicati-cli context/duplicati-server /usr/bin/
RUN chmod 0755 /usr/bin/duplicati-cli /usr/bin/duplicati-server
ARG CHANNEL=
ARG VERSION=
ENV DUPLICATI_CHANNEL=${CHANNEL}
ENV DUPLICATI_VERSION=${VERSION}
COPY duplicati /opt/duplicati
EXPOSE 8200
CMD ["/usr/bin/duplicati-server", "--webservice-port=8200", "--webservice-interface=any"]