FROM python:3.11-slim
# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1
# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1
WORKDIR /app
# Creates new user
RUN adduser -u 1000 --disabled-password --gecos "" appuser && chown -R appuser /app
# Install deps
RUN apt update && apt full-upgrade -y
RUN apt install curl gcc g++ -y
RUN curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
RUN apt install libmariadb3 libmariadb-dev -y
# Install pip requirements
COPY requirements.txt .
RUN python -m pip install -r requirements.txt
COPY . /app
USER appuser
CMD ["python", "main.py"]