|
|
|
|
|
FROM ubuntu:22.04 |
|
|
|
|
|
|
|
|
ENV APP_HOME /app |
|
|
ENV DEBIAN_FRONTEND noninteractive |
|
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
|
apt-get install -y --no-install-recommends \ |
|
|
curl \ |
|
|
jq \ |
|
|
tar \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
RUN mkdir -p $APP_HOME |
|
|
WORKDIR $APP_HOME |
|
|
|
|
|
|
|
|
RUN set -eux; \ |
|
|
|
|
|
curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest > latest_release.json; \ |
|
|
|
|
|
echo "Available assets:"; \ |
|
|
jq -r '.assets[].name' latest_release.json; \ |
|
|
|
|
|
URL=$(jq -r '.assets[] | select(.name | test("(?i)linux-amd64.tar.gz")) | .browser_download_url' latest_release.json || \ |
|
|
jq -r '.assets[] | select(.name | contains("linux") and contains("amd64") and contains("tar.gz")) | .browser_download_url' latest_release.json || \ |
|
|
jq -r '.assets[0].browser_download_url' latest_release.json); \ |
|
|
echo "Downloading from: $URL"; \ |
|
|
[ -n "$URL" ] || { echo "Error: Failed to find download URL"; exit 1; }; \ |
|
|
curl -L -o linux-amd64.tar.gz "$URL"; \ |
|
|
tar -xzf linux-amd64.tar.gz; \ |
|
|
rm linux-amd64.tar.gz; \ |
|
|
|
|
|
ls -la; \ |
|
|
[ -f rustdesk-api ] || { echo "Error: rustdesk-api binary not found"; exit 1; } |
|
|
|
|
|
|
|
|
EXPOSE 8080 |
|
|
|
|
|
|
|
|
CMD ["./rustdesk-api", "--config", "config.toml"] |
|
|
|