FROM alpine:3.22 RUN apk update && \ apk --no-cache add ca-certificates mailcap curl jq tini # Make user and create necessary directories ENV UID=1000 ENV GID=1000 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 # Set the user, volumes and exposed ports USER user VOLUME /srv /config /database EXPOSE 80 ENTRYPOINT [ "tini", "--", "/init.sh" ] CMD [ "filebrowser", "--config", "/config/settings.json" ]