|
|
|
FROM ubuntu:22.04 |
|
|
|
|
|
ENV TZ=Asia/Shanghai |
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends curl jq ca-certificates && rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
|
|
|
RUN LATEST_RELEASE_URL=$(curl -sL https://api.github.com/repos/OpenListTeam/OpenList/releases/latest | \ |
|
jq -r '.assets?[] | select(.name | test("openlist-linux-amd64.*\\.tar\\.gz$"; "i")) | .browser_download_url') && \ |
|
if [ -z "$LATEST_RELEASE_URL" ]; then \ |
|
echo "Error: Could not find 'openlist-linux-amd64.tar.gz' or similar asset in latest release assets via GitHub API." && \ |
|
|
|
wget -q -O openlist-linux-amd64.tar.gz -L https://github.com/OpenListTeam/OpenList/releases/latest/download/beta/openlist-linux-amd64.tar.gz || \ |
|
(echo "Error: Direct download also failed. Cannot proceed." && exit 1); \ |
|
else \ |
|
echo "Downloading: openlist-linux-amd64.tar.gz from $LATEST_RELEASE_URL" && \ |
|
wget -q -O openlist-linux-amd64.tar.gz "$LATEST_RELEASE_URL"; \ |
|
fi |
|
|
|
|
|
|
|
|
|
|
|
RUN tar -xzf openlist-linux-amd64.tar.gz && \ |
|
|
|
(mv OpenList/openlist . || mv openlist . || find . -type f -name "openlist*" -exec mv {} . \;) && \ |
|
|
|
rm -rf OpenList && \ |
|
|
|
chmod +x ./openlist |
|
|
|
|
|
RUN chmod -R 777 /app |
|
|
|
|
|
EXPOSE 5244 |
|
|
|
|
|
|
|
CMD ["./openlist", "server"] |
|
|