chore: sync local updates
This commit is contained in:
@@ -1,28 +1,31 @@
|
||||
# 使用 Python 官方镜像
|
||||
# 萌芽主页 API — 生产镜像(SQLite + 静态 logo)
|
||||
FROM python:3.11-slim
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 设置环境变量
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV RUN_MODE=production
|
||||
ENV DATA_DIR=/app/data
|
||||
ENV PYTHONUNBUFFERED=1 \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
RUN_MODE=production \
|
||||
DATA_DIR=/app/data \
|
||||
PORT=5000
|
||||
|
||||
# 复制依赖文件
|
||||
# 依赖
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir --no-compile -r requirements.txt
|
||||
|
||||
# 安装依赖
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
# 应用代码
|
||||
COPY app.py db.py schema.sql ./
|
||||
|
||||
# 复制应用代码
|
||||
COPY app.py .
|
||||
# 技术栈 SVG:镜像内 ./data/logo;/app/logo-dist 供 entrypoint 在「空数据卷」时复制到挂载目录
|
||||
COPY data/logo ./data/logo
|
||||
COPY data/logo /app/logo-dist
|
||||
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
|
||||
RUN chmod +x /app/docker-entrypoint.sh && mkdir -p /app/data/background
|
||||
|
||||
# 创建数据目录(如果挂载了外部卷,这个目录会被覆盖)
|
||||
RUN mkdir -p /app/data/logo
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 5000
|
||||
|
||||
# 启动应用
|
||||
CMD ["python", "app.py"]
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
|
||||
CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:5000/api')" || exit 1
|
||||
|
||||
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
||||
CMD ["sh", "-c", "exec gunicorn --bind 0.0.0.0:${PORT:-5000} --workers 2 --threads 2 --timeout 60 --access-logfile - --error-logfile - app:app"]
|
||||
|
||||
Reference in New Issue
Block a user