40 lines
967 B
Docker
Executable File
40 lines
967 B
Docker
Executable File
FROM python:3.8
|
|
|
|
#Ustaw zmienne środowiskowe
|
|
ENV PYTHONDONTWRITEBYTECODE 1
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
|
# Zainstaluj zależności systemowe
|
|
RUN apt-get update && apt-get install -y nano && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Ustaw katalog roboczy
|
|
WORKDIR /code
|
|
|
|
# Tworzenie wirtualnego środowiska
|
|
RUN python3 -m venv /code/venv
|
|
|
|
# Ustaw ścieżkę do wirtualnego środowiska
|
|
ENV PATH="/code/venv/bin:$PATH"
|
|
|
|
# Skopiuj pliki `pyproject.toml` i `poetry.lock`
|
|
COPY pyproject.toml poetry.lock /code/
|
|
|
|
# Instalacja narzędzi
|
|
RUN pip install --upgrade pip setuptools wheel
|
|
|
|
|
|
# Instalacja poetry i zależności aplikacji
|
|
RUN pip install poetry
|
|
RUN poetry config virtualenvs.create false --local
|
|
RUN poetry install --only main --extras "production"
|
|
|
|
# Zmień właściciela plików na `www-data`
|
|
RUN chown -R www-data:www-data /code
|
|
|
|
# Przejście na użytkownika `www-data`
|
|
USER www-data
|
|
|
|
# Domyślny punkt wejścia
|
|
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app.wsgi:application"]
|
|
|