From c6ebbe069dc7907cf5fdc6d234f05dc98175dc3c Mon Sep 17 00:00:00 2001 From: ra_ma Date: Sat, 20 Sep 2025 13:41:28 +0100 Subject: [PATCH] mistral tempt --- Dockerfile | 65 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 43b873b..95e1f04 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,38 @@ -ARG VERSION=latest -FROM alpine:latest as downloader -WORKDIR /src -RUN apk add --no-cache curl wget tar bash && \ - sh -c '\ - if [ "$VERSION" = "latest" ]; then \ - TAG=$(curl -s https://api.github.com/repos/5rahim/seanime/releases/latest | grep "\"tag_name\":" | sed -E "s/.*\"([^\"]+)\".*/\1/"); \ - else \ - TAG=$VERSION; \ - fi; \ - echo "Building release $TAG"; \ - wget -O seanime.tar.gz https://github.com/5rahim/seanime/archive/refs/tags/${TAG}.tar.gz; \ - tar -xzvf seanime.tar.gz; \ - mv seanime-${TAG#v} seanime; \ - ' -FROM node:18-alpine AS frontend-build -WORKDIR /app/seanime-web -COPY --from=downloader /src/seanime/seanime-web ./ -RUN npm install -RUN npm run build -RUN mkdir -p /app/web && cp -r out/* /app/web/ +FROM node:latest -FROM golang:1.23-alpine AS backend-build -WORKDIR /app -COPY --from=downloader /src/seanime ./ -COPY --from=frontend-build /app/web ./web +# Install dependencies +RUN apt-get update && apt-get install -y \ + curl \ + wget \ + build-essential \ + golang \ + && rm -rf /var/lib/apt/lists/* + +# Fetch the latest tag and download the source code +RUN curl -s https://api.github.com/repos/5rahim/seanime/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' > tag.file && \ + TAG=$(cat tag.file) && \ + wget https://github.com/5rahim/seanime/archive/refs/tags/${TAG}.tar.gz && \ + tar -xzvf ${TAG}.tar.gz && \ + rm ${TAG}.tar.gz tag.file + +# Set working directory to the extracted source code +WORKDIR /seanime-${TAG} + +# Build the web interface +RUN cd seanime-web && \ + npm install && \ + npm run build && \ + mkdir -p ../web && \ + mv out/* ../web/ + +# Build the server for Linux RUN go build -o seanime -trimpath -ldflags="-s -w" -FROM alpine:latest -WORKDIR /app -COPY --from=backend-build /app/seanime . -COPY --from=backend-build /app/web ./web +# Set up the data directory +VOLUME /DATA + +# Expose the port EXPOSE 43211 -VOLUME ["/DATA"] -CMD ["./seanime", "--datadir", "/DATA", "--port", "43211"] + +# Command to run the server +CMD ["./seanime"]