2025-06-12 21:29:43 +08:00
|
|
|
FROM docker.io/library/alpine:edge
|
2024-08-15 21:48:48 +08:00
|
|
|
|
2024-01-05 15:52:30 +08:00
|
|
|
ARG TARGETPLATFORM
|
2024-08-15 21:48:48 +08:00
|
|
|
ARG INSTALL_FFMPEG=false
|
2024-12-30 22:51:05 +08:00
|
|
|
ARG INSTALL_ARIA2=false
|
2025-06-12 21:29:43 +08:00
|
|
|
LABEL MAINTAINER="OpenList"
|
2024-08-15 21:48:48 +08:00
|
|
|
|
2025-06-12 21:29:43 +08:00
|
|
|
WORKDIR /opt/openlist/
|
2024-08-15 21:48:48 +08:00
|
|
|
|
2024-01-05 15:52:30 +08:00
|
|
|
RUN apk update && \
|
|
|
|
apk upgrade --no-cache && \
|
2025-07-24 09:19:33 +08:00
|
|
|
apk add --no-cache bash ca-certificates su-exec tzdata runit; \
|
2024-08-15 21:48:48 +08:00
|
|
|
[ "$INSTALL_FFMPEG" = "true" ] && apk add --no-cache ffmpeg; \
|
2024-12-30 22:51:05 +08:00
|
|
|
[ "$INSTALL_ARIA2" = "true" ] && apk add --no-cache curl aria2 && \
|
|
|
|
mkdir -p /opt/aria2/.aria2 && \
|
|
|
|
wget https://github.com/P3TERX/aria2.conf/archive/refs/heads/master.tar.gz -O /tmp/aria-conf.tar.gz && \
|
|
|
|
tar -zxvf /tmp/aria-conf.tar.gz -C /opt/aria2/.aria2 --strip-components=1 && rm -f /tmp/aria-conf.tar.gz && \
|
|
|
|
sed -i 's|rpc-secret|#rpc-secret|g' /opt/aria2/.aria2/aria2.conf && \
|
|
|
|
sed -i 's|/root/.aria2|/opt/aria2/.aria2|g' /opt/aria2/.aria2/aria2.conf && \
|
|
|
|
sed -i 's|/root/.aria2|/opt/aria2/.aria2|g' /opt/aria2/.aria2/script.conf && \
|
|
|
|
sed -i 's|/root|/opt/aria2|g' /opt/aria2/.aria2/aria2.conf && \
|
|
|
|
sed -i 's|/root|/opt/aria2|g' /opt/aria2/.aria2/script.conf && \
|
2025-07-24 17:22:49 +08:00
|
|
|
mkdir -p /opt/service/stop/aria2/log && \
|
|
|
|
echo '#!/bin/sh' > /opt/service/stop/aria2/run && \
|
|
|
|
echo 'exec 2>&1' >> /opt/service/stop/aria2/run && \
|
|
|
|
echo 'exec aria2c --enable-rpc --rpc-allow-origin-all --conf-path=/opt/aria2/.aria2/aria2.conf' >> /opt/service/stop/aria2/run && \
|
|
|
|
echo '#!/bin/sh' > /opt/service/stop/aria2/log/run && \
|
|
|
|
echo 'mkdir -p /opt/openlist/data/log/aria2 2>/dev/null' >> /opt/service/stop/aria2/log/run && \
|
|
|
|
echo 'exec svlogd /opt/openlist/data/log/aria2' >> /opt/service/stop/aria2/log/run && \
|
|
|
|
chmod +x /opt/service/stop/aria2/run /opt/service/stop/aria2/log/run && \
|
2024-12-30 22:51:05 +08:00
|
|
|
touch /opt/aria2/.aria2/aria2.session && \
|
|
|
|
/opt/aria2/.aria2/tracker.sh ; \
|
2024-08-15 21:48:48 +08:00
|
|
|
rm -rf /var/cache/apk/*
|
2025-07-24 09:19:33 +08:00
|
|
|
|
2025-07-24 17:22:49 +08:00
|
|
|
RUN mkdir -p /opt/service/start/openlist && \
|
|
|
|
echo '#!/bin/sh' > /opt/service/start/openlist/run && \
|
|
|
|
echo 'exec 2>&1' >> /opt/service/start/openlist/run && \
|
|
|
|
echo 'cd /opt/openlist' >> /opt/service/start/openlist/run && \
|
|
|
|
echo 'exec ./openlist server --no-prefix' >> /opt/service/start/openlist/run && \
|
|
|
|
chmod +x /opt/service/start/openlist/run
|
2024-08-15 21:48:48 +08:00
|
|
|
|
2025-06-12 21:29:43 +08:00
|
|
|
COPY --chmod=755 /build/${TARGETPLATFORM}/openlist ./
|
2025-04-19 14:26:19 +08:00
|
|
|
COPY --chmod=755 entrypoint.sh /entrypoint.sh
|
|
|
|
RUN /entrypoint.sh version
|
2024-08-15 21:48:48 +08:00
|
|
|
|
2024-12-30 22:51:05 +08:00
|
|
|
ENV PUID=0 PGID=0 UMASK=022 RUN_ARIA2=${INSTALL_ARIA2}
|
2025-06-12 21:29:43 +08:00
|
|
|
VOLUME /opt/openlist/data/
|
2024-01-05 15:52:30 +08:00
|
|
|
EXPOSE 5244 5245
|
|
|
|
CMD [ "/entrypoint.sh" ]
|