yuto0o commited on
Commit
113a95e
·
1 Parent(s): b4ef713

ファイル編集の権限がいるようです

Browse files
Files changed (2) hide show
  1. Dockerfile +10 -9
  2. config/settings.py +1 -1
Dockerfile CHANGED
@@ -3,25 +3,25 @@ FROM ghcr.io/astral-sh/uv:0.9.2-python3.12-bookworm-slim
3
 
4
  WORKDIR /code
5
 
6
- # user の作成(uid=1000)を先に行います
7
  RUN useradd -m -u 1000 user
8
 
9
- # uv で出力した requirements.txt をコピー
10
  COPY requirements.txt .
11
-
12
- # 依存関係のインストール
13
  RUN uv pip install --system --no-cache -r requirements.txt
14
 
15
- # --- 【修正ポイント】 ---
16
- # 1. キャッシュディレクトリの環境変数を新しい推奨値 'HF_HOME' に変更
17
  ENV HF_HOME=/code/cache
18
-
19
- # 2. ディレクトリ作成時に所有権(chown)を user に変更する
20
- # これで user が書き込めるようになります
21
  RUN mkdir -p /code/cache && chown -R user:user /code/cache
22
 
 
 
 
 
23
  # --------------------
24
 
 
25
  USER user
26
 
27
  ENV HOME=/home/user \
@@ -30,4 +30,5 @@ ENV HOME=/home/user \
30
  # プロジェクトコードを user 権限でコピー
31
  COPY --chown=user . /code
32
 
 
33
  CMD ["sh", "-c", "python manage.py migrate && python manage.py runserver 0.0.0.0:7860"]
 
3
 
4
  WORKDIR /code
5
 
6
+ # user の作成(uid=1000
7
  RUN useradd -m -u 1000 user
8
 
9
+ # requirements.txt をコピーしてインストール
10
  COPY requirements.txt .
 
 
11
  RUN uv pip install --system --no-cache -r requirements.txt
12
 
13
+ # キャッシュディレクトリ設定
 
14
  ENV HF_HOME=/code/cache
15
+ # キャッシュフォルダを作って権限を与える
 
 
16
  RUN mkdir -p /code/cache && chown -R user:user /code/cache
17
 
18
+ # --- 【★修正ポイント】 ---
19
+ # /code ディレクトリ自体の所有権を user に変更する
20
+ # これがないと、user はこのフォルダの中に新しいファイル(db.sqlite3)を作れません
21
+ RUN chown -R user:user /code
22
  # --------------------
23
 
24
+ # ここからユーザーを切り替え
25
  USER user
26
 
27
  ENV HOME=/home/user \
 
30
  # プロジェクトコードを user 権限でコピー
31
  COPY --chown=user . /code
32
 
33
+ # 起動コマンド(migrate -> runserver)
34
  CMD ["sh", "-c", "python manage.py migrate && python manage.py runserver 0.0.0.0:7860"]
config/settings.py CHANGED
@@ -77,7 +77,7 @@ WSGI_APPLICATION = "config.wsgi.application"
77
  DATABASES = {
78
  "default": {
79
  "ENGINE": "django.db.backends.sqlite3",
80
- "NAME": BASE_DIR / "db.sqlite3",
81
  }
82
  }
83
 
 
77
  DATABASES = {
78
  "default": {
79
  "ENGINE": "django.db.backends.sqlite3",
80
+ "NAME": "/data/db.sqlite3",
81
  }
82
  }
83