FROM python:3.12

WORKDIR /opt/ras-backend

# параметры сборки образа
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PIP_ROOT_USER_ACTION=ignore

# ставим зависимости
COPY requirements.txt ./
RUN pip install --no-cache-dir --upgrade pip
RUN apt-get update -y && apt-get install gcc libldap2-dev libsasl2-dev -y --no-install-recommends && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir -r requirements.txt
COPY scripts/docker.sh ./
COPY scripts/set_admin.py ./scripts/

# копируем миграции
COPY migrations ./migrations/
COPY alembic.ini ./

# копируем приложение
COPY app_config_default ./
COPY src ./src/

# создаем пользователя под которым будет это все запускаться
ARG USERNAME=ras
RUN adduser --uid 1000 --disabled-password ${USERNAME}
USER ${USERNAME}

CMD ["./docker.sh"]

EXPOSE 8000

HEALTHCHECK CMD curl --fail http://localhost:8001/api/v1/health || exit 1
