fdroid-repository/Dockerfile

64 lines
1.6 KiB
Docker

FROM alpine:3.9
ARG HTTP_PROXY=
ARG HTTPS_PROXY=
ARG http_proxy=
ARG https_proxy=
ARG FDROIDSERVER_VERSION=1.0.10
ARG TIMEZONE=Europe/Paris
ARG CRYPTOGRAPHY_DONT_BUILD_RUST=1
RUN apk add --no-cache \
python3 build-base freetype-dev libffi-dev \
libpng-dev py3-setuptools python3-dev libxml2-dev \
libxslt-dev openssl-dev jpeg-dev java-common \
bash supervisor openssh inotify-tools gettext \
openjdk8 fastjar caddy tzdata
RUN cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& apk del tzdata
RUN ln -s /usr/bin/fastjar /usr/bin/jar
RUN ln -s /usr/include/libxml2 /usr/include/libxml
RUN pip3 install --upgrade pip
RUN pip3 install fdroidserver==${FDROIDSERVER_VERSION}
RUN apk del build-base
COPY supervisor.ini /etc/supervisor.d/supervisor.ini
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
RUN mkdir /fdroid
WORKDIR /fdroid
COPY config.py /fdroid/config.py.tmpl
COPY Caddyfile /fdroid/Caddyfile
COPY fdroid-update.sh /fdroid/fdroid-update.sh
RUN chmod +x /fdroid/fdroid-update.sh
COPY fdroid-icon.png /fdroid/fdroid-icon.png
VOLUME /fdroid/repo
VOLUME /fdroid/metadata
VOLUME /fdroid/keystore
EXPOSE 2222
EXPOSE 80
EXPOSE 443
ENV FDROID_ARCHIVE_OLDER=3
ENV FDROID_REPO_ICON=fdroid-icon.png
ENV FDROID_ARCHIVE_ICON=fdroid-icon.png
RUN sed -i "s/^#HostKey.*$/HostKey \/fdroid\/ssh_host_rsa_key/" /etc/ssh/sshd_config
RUN sed -i "s/^#Port.*$/Port 2222/" /etc/ssh/sshd_config
RUN addgroup -S fdroid && adduser -D -h /fdroid -s /bin/bash -G fdroid fdroid
RUN chown -R fdroid: /fdroid
CMD /docker-entrypoint.sh