feat: adjust docker image build

This commit is contained in:
engigu
2025-12-23 18:18:23 +08:00
parent d8ba20fbce
commit b7f2ad2f48
5 changed files with 19 additions and 21 deletions
+1
View File
@@ -10,6 +10,7 @@ baihu
# Data & Logs
data/
envs/
# logs/
# scripts/
configs/config.ini
+1 -4
View File
@@ -50,7 +50,7 @@ RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
FROM debian:bookworm-slim
ENV TZ=Asia/Shanghai
ENV PATH="/opt/venv/bin:$PATH"
ENV PATH="/app/envs/python/bin:$PATH"
# 安装必要系统工具 + Node + Python
RUN sed -i 's@deb.debian.org@mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list.d/debian.sources \
@@ -60,9 +60,6 @@ RUN sed -i 's@deb.debian.org@mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.li
&& apt-get update \
&& apt-get install -y --no-install-recommends \
tzdata git gcc curl wget vim nodejs npm python3 python3-venv python3-pip \
&& python3 -m venv /opt/venv \
&& /opt/venv/bin/pip install --upgrade pip \
&& /opt/venv/bin/pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
+1
View File
@@ -9,6 +9,7 @@ services:
volumes:
- ./data:/app/data
- ./configs:/app/configs
- ./envs:/app/envs
environment:
- TZ=Asia/Shanghai
restart: unless-stopped
+1
View File
@@ -8,6 +8,7 @@ services:
volumes:
- ./data:/app/data
- ./configs:/app/configs
- ./envs:/app/envs
environment:
- TZ=Asia/Shanghai
restart: unless-stopped
+15 -17
View File
@@ -1,31 +1,29 @@
#!/bin/sh
# ============================
# 激活 Python 虚拟环境
# ============================
if [ -d /opt/venv ]; then
export PATH="/opt/venv/bin:$PATH"
fi
PYTHON_VENV_DIR="/app/envs/python"
# ============================
# 创建必要目录
# ============================
mkdir -p /app/data /app/data/scripts /app/configs
mkdir -p /app/data /app/data/scripts /app/configs /app/envs
# ============================
# 设置不可变属性
# 创建 Python 虚拟环境(如果不存在)
# ============================
if [ -f /app/data/ql.db ]; then
chattr +i /app/data/ql.db 2>/dev/null || true
if [ ! -d "$PYTHON_VENV_DIR" ]; then
echo "Creating Python virtual environment..."
python3 -m venv "$PYTHON_VENV_DIR"
"$PYTHON_VENV_DIR/bin/pip" install --upgrade pip
"$PYTHON_VENV_DIR/bin/pip" config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
echo "Python virtual environment created at $PYTHON_VENV_DIR"
else
echo "Python virtual environment already exists at $PYTHON_VENV_DIR"
fi
if [ -d /app/configs ]; then
chattr +i /app/configs 2>/dev/null || true
fi
if [ -d /app/data/scripts ]; then
chattr +i /app/data/scripts 2>/dev/null || true
fi
# ============================
# 激活 Python 虚拟环境
# ============================
export PATH="$PYTHON_VENV_DIR/bin:$PATH"
# ============================
# 启动应用