2025-06-18 21:53:02 +02:00
|
|
|
FROM alpine:3.22
|
2023-07-22 14:07:15 -07:00
|
|
|
|
2025-06-18 21:53:02 +02:00
|
|
|
RUN apk update && \
|
|
|
|
|
apk --no-cache add ca-certificates mailcap curl jq tini
|
2021-03-21 12:30:48 +01:00
|
|
|
|
2025-06-18 21:53:02 +02:00
|
|
|
# Make user and create necessary directories
|
|
|
|
|
ENV UID=1000
|
|
|
|
|
ENV GID=1000
|
2018-06-06 21:02:00 +01:00
|
|
|
|
2025-06-18 21:53:02 +02:00
|
|
|
RUN addgroup -g $GID user && \
|
|
|
|
|
adduser -D -u $UID -G user user && \
|
|
|
|
|
mkdir -p /config /database /srv && \
|
|
|
|
|
chown -R user:user /config /database /srv
|
|
|
|
|
|
|
|
|
|
# Copy files and set permissions
|
|
|
|
|
COPY filebrowser /bin/filebrowser
|
|
|
|
|
COPY docker/common/ /
|
|
|
|
|
COPY docker/alpine/ /
|
|
|
|
|
|
|
|
|
|
RUN chown -R user:user /bin/filebrowser /defaults healthcheck.sh init.sh
|
|
|
|
|
|
|
|
|
|
# Define healthcheck script
|
|
|
|
|
HEALTHCHECK --start-period=2s --interval=5s --timeout=3s CMD /healthcheck.sh
|
2021-12-21 14:28:42 +01:00
|
|
|
|
2025-06-18 21:53:02 +02:00
|
|
|
# Set the user, volumes and exposed ports
|
|
|
|
|
USER user
|
|
|
|
|
|
|
|
|
|
VOLUME /srv /config /database
|
|
|
|
|
|
|
|
|
|
EXPOSE 80
|
2018-06-06 21:02:00 +01:00
|
|
|
|
2025-06-22 17:55:57 +02:00
|
|
|
ENTRYPOINT [ "tini", "--", "/init.sh", "filebrowser", "--config", "/config/settings.json" ]
|