diff --git a/Dockerfile b/Dockerfile index 9e7daee..e80024b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,11 +20,16 @@ FROM python:${PYTHON_VERSION}-slim AS runtime ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 +# 容器内无外部时区配置时使用上海时区,签到等本地自然日调度依赖它。 +ENV TZ=Asia/Shanghai + WORKDIR /app # gosu 用于入口脚本完成挂载目录准备后降权运行服务。 RUN apt-get update && \ - apt-get install -y --no-install-recommends gosu && \ + apt-get install -y --no-install-recommends gosu tzdata && \ + ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ + echo "Asia/Shanghai" > /etc/timezone && \ rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ diff --git a/docker-compose.yml b/docker-compose.yml index ea1dd31..b70cba9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ services: environment: # 容器运行数据必须写入持久化挂载点,不接受 .env 覆盖。 CODEBUDDY_DATA_DIR: /app/data + # 签到等本地自然日调度的时区;与 Dockerfile 默认值保持一致。 + TZ: Asia/Shanghai volumes: # SQLite 与 CodeBuddy 凭证持久化 - ./data:/app/data