# Astral 公式 uv + Python 3.12 + bookworm-slim FROM ghcr.io/astral-sh/uv:0.9.2-python3.12-bookworm-slim WORKDIR /code # user の作成(uid=1000) RUN useradd -m -u 1000 user # requirements.txt をコピーしてインストール COPY requirements.txt . RUN uv pip install --system --no-cache -r requirements.txt # キャッシュディレクトリ設定 ENV HF_HOME=/code/cache # キャッシュフォルダを作って権限を与える RUN mkdir -p /code/cache && chown -R user:user /code/cache # --- 【★修正ポイント】 --- # /code ディレクトリ自体の所有権を user に変更する # これがないと、user はこのフォルダの中に新しいファイル(db.sqlite3)を作れません RUN chown -R user:user /code # -------------------- # ここからユーザーを切り替え USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # プロジェクトコードを user 権限でコピー COPY --chown=user . /code # 起動コマンド(migrate -> runserver) CMD ["sh", "-c", "python manage.py migrate && python manage.py runserver 0.0.0.0:7860"]