ttttdiva commited on
Commit
a428bd3
·
verified ·
1 Parent(s): 3f7ec7f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -28
Dockerfile CHANGED
@@ -1,6 +1,7 @@
1
  FROM python:3.9
2
 
3
- # システム依存ライブラリをインストール
 
4
  RUN apt-get update && apt-get install -y \
5
  libnss3 \
6
  libatk1.0-0 \
@@ -14,40 +15,27 @@ RUN apt-get update && apt-get install -y \
14
  libgbm1 \
15
  fonts-liberation \
16
  libasound2 \
17
- libxcomposite1 \
18
- libxdamage1 \
19
- libxfixes3 \
20
- libxrandr2 \
21
- # ↑ Playwright が要求している追加ライブラリ
22
- # ここに他の必要パッケージがあれば続けて書く
23
  && rm -rf /var/lib/apt/lists/*
24
 
25
- # 作業ディレクトリ(root権限のまま)
26
- WORKDIR /app
27
 
28
- # 依存ライブラリのインストール (Playwright 本体はまだOK)
29
- COPY requirements.txt /app/requirements.txt
30
- RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt
31
 
32
- # fastapi, uvicorn, playwright, requests などが入る想定
33
- # 例) requirements.txt:
34
- # fastapi
35
- # uvicorn
36
- # playwright
37
- # requests
38
-
39
- # ユーザー作成 & 切り替え
40
  RUN useradd -m -u 1000 user
41
- # 念のため .cache ディレクトリを作って所有権を与える
42
- RUN mkdir -p /home/user/.cache && chown -R user:user /home/user
43
-
44
  USER user
 
 
45
 
46
- # ここで "同じユーザー(user)" としてブラウザをダウンロード
47
- RUN python -m playwright install
48
 
49
- # ソースコードをコピー
50
- COPY --chown=user . /app
51
 
52
- # 起動コマンド
53
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  FROM python:3.9
2
 
3
+ # 1) システム更新 & Playwrightで必要そうなライブラリをまとめて入れる
4
+ # rclone, aria2, zip は不要とのことなので削除
5
  RUN apt-get update && apt-get install -y \
6
  libnss3 \
7
  libatk1.0-0 \
 
15
  libgbm1 \
16
  fonts-liberation \
17
  libasound2 \
18
+ # ↑Playwrightに必要
 
 
 
 
 
19
  && rm -rf /var/lib/apt/lists/*
20
 
21
+ # 2) /code ディレクトリを作業場所に
22
+ WORKDIR /code
23
 
24
+ # 3) requirements.txt をコピーし、Pythonパッケージをインストール
25
+ COPY requirements.txt /code/requirements.txt
26
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
27
 
28
+ # 4) Hugging Face Spaces の実行ユーザー(1000:user)を作成して切り替え
 
 
 
 
 
 
 
29
  RUN useradd -m -u 1000 user
 
 
 
30
  USER user
31
+ ENV HOME=/home/user \
32
+ PATH=/home/user/.local/bin:$PATH
33
 
34
+ # 5) 作業ディレクトリを "/home/user/app" に設定
35
+ WORKDIR $HOME/app
36
 
37
+ # 6) ソースコードをコピー
38
+ COPY --chown=user . $HOME/app
39
 
40
+ # 7) 起動コマンド
41
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]