File size: 1,247 Bytes
65f04be
1f6e2c3
f40b211
 
1f6e2c3
f40b211
 
 
 
 
 
65f04be
f40b211
1f6e2c3
f40b211
 
65f04be
f40b211
 
 
65f04be
f40b211
 
 
 
 
 
 
9ece658
f40b211
 
 
1f6e2c3
 
f40b211
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FROM python:3.12-slim

# Системные зависимости
RUN apt-get update && apt-get install -y git build-essential curl && rm -rf /var/lib/apt/lists/*

# Настройка пользователя Hugging Face
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    HF_HOME=/home/user/.cache/huggingface

WORKDIR $HOME/app

# Ставим poetry и gradio в пользовательскую директорию
RUN pip install --no-cache-dir --user poetry>=2.0 gradio

# Клонируем репозиторий
RUN git clone https://github.com/syssec-utd/pylingual.git $HOME/pylingual
WORKDIR $HOME/pylingual

# 1. Генерируем lock
# 2. Ставим ТОЛЬКО зависимости (--no-root), чтобы не было ошибки прав доступа
# 3. Ставим сам проект через pip install . (он создаст команду 'pylingual' в ~/.local/bin)
RUN poetry config virtualenvs.create false && \
    poetry lock && \
    poetry install --no-root && \
    pip install --user .

# Возвращаемся в корень приложения
WORKDIR $HOME/app
COPY --chown=user app.py $HOME/app/

EXPOSE 7860
CMD ["python", "app.py"]