Init
This commit is contained in:
46
app/Dockerfile
Normal file
46
app/Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user