abraunegg-onedrive/contrib/docker/Dockerfile-debian
abraunegg 5cf8667308 Update Dockerfile-debian
* Fix that libcurl4 does not get applied despite being pulled in. Explicitly install it from Debian 12 Backports
2024-10-25 10:44:01 +11:00

46 lines
1.7 KiB
Docker

# -*-Dockerfile-*-
ARG DEBIAN_VERSION=stable
FROM debian:${DEBIAN_VERSION} AS builder-onedrive
# Add backports repository and update before initial DEBIAN_FRONTEND installation
RUN apt-get clean \
&& echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/debian-12-backports.list \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential curl ca-certificates libcurl4-openssl-dev libsqlite3-dev libxml2-dev pkg-config git ldc \
# Install|update curl from backports
&& apt-get install -t bookworm-backports -y curl \
&& rm -rf /var/lib/apt/lists/*
COPY . /usr/src/onedrive
WORKDIR /usr/src/onedrive
RUN ./configure --enable-debug\
&& make clean \
&& make \
&& make install
FROM debian:${DEBIAN_VERSION}-slim
# Add backports repository and update after DEBIAN_FRONTEND installation
RUN apt-get clean \
&& echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/debian-12-backports.list \
&& apt-get update \
&& apt-get upgrade -y \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gosu libsqlite3-0 ca-certificates libphobos2-ldc-shared100 \
# Install|update curl and libcurl4 from backports
&& apt-get install -t bookworm-backports -y curl libcurl4 \
&& rm -rf /var/lib/apt/lists/* \
# Fix bug with ssl on armhf: https://serverfault.com/a/1045189
&& /usr/bin/c_rehash \
&& mkdir -p /onedrive/conf /onedrive/data
COPY --from=builder-onedrive /usr/local/bin/onedrive /usr/local/bin/
COPY contrib/docker/entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]