BG5 commited on
Commit
261f8cd
·
verified ·
1 Parent(s): 3ef1f65

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +67 -11
Dockerfile CHANGED
@@ -1,16 +1,72 @@
1
- FROM python:3.11
 
2
 
3
- WORKDIR /code
 
4
 
5
- COPY ./requirements.txt /code/requirements.txt
6
- RUN python3 -m pip install --no-cache-dir --upgrade pip
7
- RUN python3 -m pip install --no-cache-dir --upgrade -r /code/requirements.txt
8
 
9
- COPY . .
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- CMD ["panel", "serve", "/code/app.py", "--address", "0.0.0.0", "--port", "7860", "--allow-websocket-origin", "*"]
 
12
 
13
- RUN mkdir /.cache
14
- RUN chmod 777 /.cache
15
- RUN mkdir .chroma
16
- RUN chmod 777 .chroma
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用 Ubuntu 22.04 作为基础镜像
2
+ FROM ubuntu:22.04
3
 
4
+ # 设置环境变量,避免交互式配置
5
+ ARG DEBIAN_FRONTEND=noninteractive
6
 
7
+ # 设置时区为亚洲/上海
8
+ ENV TZ=Asia/Shanghai
 
9
 
10
+ # 安装所需的软件包并清理APT缓存
11
+ RUN apt-get update && apt-get install -y \
12
+ wget \
13
+ tar \
14
+ unzip \
15
+ zip \
16
+ curl \
17
+ git \
18
+ sudo \
19
+ gnupg \
20
+ sqlite3 \
21
+ tzdata \
22
+ && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
23
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
24
+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list && \
25
+ apt-get update && apt-get install -y docker-ce-cli && \
26
+ curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
27
+ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose && \
28
+ chmod +x /usr/local/bin/docker-compose && \
29
+ apt-get clean && rm -rf /var/lib/apt/lists/*
30
 
31
+ # 设置工作目录为/app
32
+ WORKDIR /app
33
 
34
+ # 复制必要的文件
35
+ COPY ./install.override.sh .
36
+ COPY ./update_app_version.sh .
37
+
38
+ # 定义版本参数
39
+ ARG PANELVER=$PANELVER
40
+
41
+ # 设置环境变量
42
+ ENV PANELVER=$PANELVER
43
+
44
+ # 下载并安装 1Panel
45
+ RUN INSTALL_MODE="stable" && \
46
+ ARCH=$(dpkg --print-architecture) && \
47
+ if [ "$ARCH" = "armhf" ]; then ARCH="armv7"; fi && \
48
+ if [ "$ARCH" = "ppc64el" ]; then ARCH="ppc64le"; fi && \
49
+ package_file_name="1panel-${PANELVER}-linux-${ARCH}.tar.gz" && \
50
+ package_download_url="https://resource.fit2cloud.com/1panel/package/${INSTALL_MODE}/${PANELVER}/release/${package_file_name}" && \
51
+ echo "Downloading ${package_download_url}" && \
52
+ curl -sSL -o ${package_file_name} "$package_download_url" && \
53
+ tar zxvf ${package_file_name} --strip-components 1 && \
54
+ rm /app/install.sh && \
55
+ mv -f /app/install.override.sh /app/install.sh && \
56
+ chmod +x /app/install.sh && \
57
+ chmod +x /app/update_app_version.sh && \
58
+ bash /app/install.sh && \
59
+ cp /app/1panel.service /etc/systemd/system/1panel.service && \
60
+ find /app -type f ! -name 'update_app_version.sh' -delete
61
+
62
+ # 设置工作目录为根目录
63
+ WORKDIR /
64
+
65
+ # 暴露端口 10086
66
+ EXPOSE 10086
67
+
68
+ # 创建 Docker 套接字的卷
69
+ VOLUME /var/run/docker.sock
70
+
71
+ # 启动
72
+ CMD ["/bin/bash", "-c", "/usr/local/bin/1panel & sleep 3 && kill $(jobs -p) || true && /app/update_app_version.sh && /usr/local/bin/1panel"]