Skip to content

Commit afb043e

Browse files
authored
feat(docker): Change keep-alive strategy to runit, add aria2 log support (#791)
1 parent d9debb8 commit afb043e

File tree

3 files changed

+33
-11
lines changed

3 files changed

+33
-11
lines changed

Dockerfile

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ WORKDIR /opt/openlist/
1717

1818
RUN apk update && \
1919
apk upgrade --no-cache && \
20-
apk add --no-cache bash ca-certificates su-exec tzdata; \
20+
apk add --no-cache bash ca-certificates su-exec tzdata runit; \
2121
[ "$INSTALL_FFMPEG" = "true" ] && apk add --no-cache ffmpeg; \
2222
[ "$INSTALL_ARIA2" = "true" ] && apk add --no-cache curl aria2 && \
2323
mkdir -p /opt/aria2/.aria2 && \
@@ -28,9 +28,24 @@ RUN apk update && \
2828
sed -i 's|/root/.aria2|/opt/aria2/.aria2|g' /opt/aria2/.aria2/script.conf && \
2929
sed -i 's|/root|/opt/aria2|g' /opt/aria2/.aria2/aria2.conf && \
3030
sed -i 's|/root|/opt/aria2|g' /opt/aria2/.aria2/script.conf && \
31+
mkdir -p /opt/service/aria2/log && \
32+
echo '#!/bin/sh' > /opt/service/aria2/run && \
33+
echo 'exec 2>&1' >> /opt/service/aria2/run && \
34+
echo 'exec aria2c --enable-rpc --rpc-allow-origin-all --conf-path=/opt/aria2/.aria2/aria2.conf' >> /opt/service/aria2/run && \
35+
echo '#!/bin/sh' > /opt/service/aria2/log/run && \
36+
echo 'mkdir -p /opt/openlist/data/log/aria2 2>/dev/null' >> /opt/service/aria2/log/run && \
37+
echo 'exec svlogd /opt/openlist/data/log/aria2' >> /opt/service/aria2/log/run && \
38+
chmod +x /opt/service/aria2/run /opt/service/aria2/log/run && \
3139
touch /opt/aria2/.aria2/aria2.session && \
3240
/opt/aria2/.aria2/tracker.sh ; \
3341
rm -rf /var/cache/apk/*
42+
43+
RUN mkdir -p /opt/service/openlist && \
44+
echo '#!/bin/sh' > /opt/service/openlist/run && \
45+
echo 'exec 2>&1' >> /opt/service/openlist/run && \
46+
echo 'cd /opt/openlist' >> /opt/service/openlist/run && \
47+
echo 'exec ./openlist server --no-prefix' >> /opt/service/openlist/run && \
48+
chmod +x /opt/service/openlist/run
3449

3550
COPY --chmod=755 --from=builder /app/bin/openlist ./
3651
COPY --chmod=755 entrypoint.sh /entrypoint.sh

Dockerfile.ci

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ WORKDIR /opt/openlist/
99

1010
RUN apk update && \
1111
apk upgrade --no-cache && \
12-
apk add --no-cache bash ca-certificates su-exec tzdata; \
12+
apk add --no-cache bash ca-certificates su-exec tzdata runit; \
1313
[ "$INSTALL_FFMPEG" = "true" ] && apk add --no-cache ffmpeg; \
1414
[ "$INSTALL_ARIA2" = "true" ] && apk add --no-cache curl aria2 && \
1515
mkdir -p /opt/aria2/.aria2 && \
@@ -20,9 +20,24 @@ RUN apk update && \
2020
sed -i 's|/root/.aria2|/opt/aria2/.aria2|g' /opt/aria2/.aria2/script.conf && \
2121
sed -i 's|/root|/opt/aria2|g' /opt/aria2/.aria2/aria2.conf && \
2222
sed -i 's|/root|/opt/aria2|g' /opt/aria2/.aria2/script.conf && \
23+
mkdir -p /opt/service/aria2/log && \
24+
echo '#!/bin/sh' > /opt/service/aria2/run && \
25+
echo 'exec 2>&1' >> /opt/service/aria2/run && \
26+
echo 'exec aria2c --enable-rpc --rpc-allow-origin-all --conf-path=/opt/aria2/.aria2/aria2.conf' >> /opt/service/aria2/run && \
27+
echo '#!/bin/sh' > /opt/service/aria2/log/run && \
28+
echo 'mkdir -p /opt/openlist/data/log/aria2 2>/dev/null' >> /opt/service/aria2/log/run && \
29+
echo 'exec svlogd /opt/openlist/data/log/aria2' >> /opt/service/aria2/log/run && \
30+
chmod +x /opt/service/aria2/run /opt/service/aria2/log/run && \
2331
touch /opt/aria2/.aria2/aria2.session && \
2432
/opt/aria2/.aria2/tracker.sh ; \
2533
rm -rf /var/cache/apk/*
34+
35+
RUN mkdir -p /opt/service/openlist && \
36+
echo '#!/bin/sh' > /opt/service/openlist/run && \
37+
echo 'exec 2>&1' >> /opt/service/openlist/run && \
38+
echo 'cd /opt/openlist' >> /opt/service/openlist/run && \
39+
echo 'exec ./openlist server --no-prefix' >> /opt/service/openlist/run && \
40+
chmod +x /opt/service/openlist/run
2641

2742
COPY --chmod=755 /build/${TARGETPLATFORM}/openlist ./
2843
COPY --chmod=755 entrypoint.sh /entrypoint.sh

entrypoint.sh

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,7 @@ umask ${UMASK}
55
if [ "$1" = "version" ]; then
66
./openlist version
77
else
8-
if [ "$RUN_ARIA2" = "true" ]; then
9-
chown -R ${PUID}:${PGID} /opt/aria2/
10-
exec su-exec ${PUID}:${PGID} nohup aria2c \
11-
--enable-rpc \
12-
--rpc-allow-origin-all \
13-
--conf-path=/opt/aria2/.aria2/aria2.conf \
14-
>/dev/null 2>&1 &
15-
fi
168

179
chown -R ${PUID}:${PGID} /opt/openlist/
18-
exec su-exec ${PUID}:${PGID} ./openlist server --no-prefix
10+
exec su-exec ${PUID}:${PGID} runsvdir /opt/service
1911
fi

0 commit comments

Comments
 (0)