36 lines
1.1 KiB
Docker
36 lines
1.1 KiB
Docker
|
FROM python:3.12-slim AS base-core-app
|
||
|
|
||
|
# Prevents Python from writing pyc files to disc (equivalent to python -B option)
|
||
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||
|
# Prevents Python from buffering stdout and stderr (equivalent to python -u option)
|
||
|
ENV PYTHONUNBUFFERED=1
|
||
|
# Sets python path to be able to import modules
|
||
|
ENV PYTHONPATH=":/usr/src/app"
|
||
|
# Sets the default python breakpoint to use pudb
|
||
|
ENV PYTHONBREAKPOINT="pudb.set_trace"
|
||
|
|
||
|
# set work directory
|
||
|
WORKDIR /usr/src/app
|
||
|
|
||
|
# set time
|
||
|
RUN ln -fs /usr/share/zoneinfo/Europe/Madrid /etc/localtime
|
||
|
RUN dpkg-reconfigure -f noninteractive tzdata
|
||
|
|
||
|
# install software
|
||
|
RUN apt update && apt upgrade -y
|
||
|
RUN apt install -y build-essential python3-dev libpq-dev python3-pip sqlite3
|
||
|
|
||
|
# install dependencies
|
||
|
RUN pip3 install --upgrade pip
|
||
|
|
||
|
COPY ./requirements.txt .
|
||
|
RUN pip3 install -r requirements.txt
|
||
|
|
||
|
# api: fastapi
|
||
|
COPY ./src/infra/api/fastapi/requirements.txt requirements_fastapi.txt
|
||
|
RUN pip3 install -r requirements_fastapi.txt
|
||
|
|
||
|
# api: flask
|
||
|
COPY ./src/infra/api/flask/requirements.txt requirements_flask.txt
|
||
|
RUN pip3 install -r requirements_flask.txt
|