mirror of
https://github.com/AlistGo/alist.git
synced 2025-12-24 14:40:10 +08:00
64 lines
1.8 KiB
Docker
64 lines
1.8 KiB
Docker
FROM ubuntu AS build_alist
|
|
WORKDIR /app/
|
|
# RUN apt update && apt install bash curl gcc git go musl-dev
|
|
# 安装基本工具
|
|
RUN apt update && \
|
|
apt install -y software-properties-common && \
|
|
add-apt-repository ppa:longsleep/golang-backports && \
|
|
apt update && \
|
|
apt install -y bash curl gcc git golang-go musl-dev
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY ./ ./
|
|
RUN bash build.sh release docker
|
|
|
|
FROM ubuntu AS install_py
|
|
RUN apt update && \
|
|
apt install -y curl python3 python3-pip python3.12-venv
|
|
WORKDIR /app/auto_pikpak/
|
|
# RUN curl -O -L https://raw.githubusercontent.com/wangjunkai2022/auto_pikpak/main/requirements.txt requirements.txt
|
|
# RUN curl -O -L https://raw.githubusercontent.com/wangjunkai2022/auto_pikpak/main/requirements.txt requirements.txt
|
|
# 创建虚拟环境并激活
|
|
RUN python3 -m venv venv && \
|
|
. venv/bin/activate && \
|
|
pip install \
|
|
PyYAML \
|
|
selenium \
|
|
pyTelegramBotAPI \
|
|
pyrclone \
|
|
httpx \
|
|
numpy \
|
|
opencv_python \
|
|
opencv_python_headless \
|
|
ultralytics \
|
|
2captcha-python \
|
|
Flask
|
|
|
|
FROM ubuntu as pikpak_server
|
|
RUN apt update && \
|
|
apt install -y git
|
|
WORKDIR /app
|
|
RUN git clone https://github.com/wangjunkai2022/auto_pikpak.git --depth 1
|
|
WORKDIR /app/auto_pikpak
|
|
COPY --from=install_py /app/auto_pikpak/venv /app/auto_pikpak/venv
|
|
|
|
FROM ubuntu
|
|
ARG INSTALL_FFMPEG=false
|
|
LABEL MAINTAINER="i@nn.ci"
|
|
|
|
WORKDIR /opt/alist/
|
|
|
|
RUN apt update && \
|
|
apt upgrade -y && \
|
|
apt install -y bash ca-certificates tzdata ffmpeg
|
|
|
|
# 复制 auto_pikpak 到第二阶段
|
|
COPY --from=pikpak_server /app/auto_pikpak /app/auto_pikpak
|
|
COPY --from=build_alist /app/bin/alist ./
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh && /entrypoint.sh version
|
|
|
|
ENV PUID=0 PGID=0 UMASK=022
|
|
VOLUME /opt/alist/data/
|
|
EXPOSE 5244 5245
|
|
CMD [ "/entrypoint.sh" ] |