|
|
|
FROM ubuntu:20.04 |
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
ENV TZ=Etc/UTC |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
git \ |
|
curl \ |
|
tzdata \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
RUN curl -LO https://golang.org/dl/go1.18.10.linux-amd64.tar.gz && \ |
|
tar -C /usr/local -xzf go1.18.10.linux-amd64.tar.gz && \ |
|
rm go1.18.10.linux-amd64.tar.gz |
|
|
|
|
|
ENV GOPATH=/go |
|
ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN git clone https://github.com/dutchcoders/transfer.sh.git . |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN /usr/local/go/bin/go mod tidy |
|
|
|
|
|
RUN GOOS=linux GOARCH=amd64 /usr/local/go/bin/go build -o transfersh ./cmd |
|
|
|
|
|
RUN chmod +x transfersh |
|
|
|
|
|
RUN mkdir -p /app/Downloads && chmod -R 777 /app/Downloads |
|
|
|
|
|
RUN mkdir -p /app/temp && chmod -R 777 /app/temp |
|
|
|
|
|
EXPOSE 8080 |
|
|
|
|
|
ENV PYTHONUNBUFFERED=1 \ |
|
GRADIO_ALLOW_FLAGGING=never \ |
|
GRADIO_NUM_PORTS=1 \ |
|
GRADIO_SERVER_NAME=0.0.0.0 \ |
|
SYSTEM=spaces |
|
|
|
|
|
CMD ["./transfersh", "--provider", "local", "--basedir", "/app/Downloads", "--temp-path", "/app/temp"] |
|
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ |
|
CMD curl -f http://localhost:8080/ || exit 1 |