47 lines
1.6 KiB
Docker
47 lines
1.6 KiB
Docker
FROM python:3.12-slim
|
|
|
|
ARG PUID
|
|
ARG PGID
|
|
ARG ENV
|
|
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
|
#RUN groupadd -g ${PGID} -o custom_user
|
|
#RUN useradd -m -u ${PUID} -g ${PGID} -o -s /bin/bash custom_user
|
|
|
|
# install requirements debian dependencies
|
|
RUN apt update && apt install -y curl inotify-tools mariadb-client ca-certificates gnupg wget lsb-release
|
|
|
|
# install lastest version of postgresql-client
|
|
RUN install -d /usr/share/postgresql-common/pgdg
|
|
RUN curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
|
|
RUN echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
|
|
RUN apt update && apt install -y postgresql-client-16
|
|
|
|
# install node 20
|
|
RUN mkdir -p /etc/apt/keyrings
|
|
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
|
|
RUN apt update && apt install nodejs -y
|
|
RUN npm install -g yarn
|
|
|
|
# clean apt cache
|
|
RUN find /var/cache/apt/archives /var/lib/apt/lists -not -name lock -type f -delete
|
|
|
|
# Setup python requirements
|
|
WORKDIR /app/requirements
|
|
COPY ./requirements/* ./
|
|
RUN python -m pip install --upgrade pip
|
|
RUN pip install -r ${ENV}.txt
|
|
|
|
#USER custom_user
|
|
|
|
# Setup node dependencies
|
|
WORKDIR /app/frontend
|
|
COPY ./frontend/package.json ./package.json
|
|
RUN yarn install
|
|
|
|
WORKDIR /app
|
|
|
|
|