47 lines
1.2 KiB
Docker
47 lines
1.2 KiB
Docker
|
# seccion frontend
|
||
|
FROM node:20-alpine as frontend
|
||
|
|
||
|
# soluciona error en descarga de repositorio
|
||
|
RUN sed -i 's/https\:\/\//http\:\/\//g' /etc/apk/repositories
|
||
|
|
||
|
# descargar proyecto
|
||
|
RUN apk update && apk add git
|
||
|
|
||
|
RUN git clone https://72d861f982d2a76275d5b8178fe0633b19c43d33@dev.ilab.cl/TDTP/paraderos_backend /backend
|
||
|
RUN git clone https://72d861f982d2a76275d5b8178fe0633b19c43d33@dev.ilab.cl/TDTP/paraderos_frontend /frontend
|
||
|
|
||
|
RUN rm -rf /backend/project/dist
|
||
|
|
||
|
# compilar
|
||
|
WORKDIR /frontend
|
||
|
RUN npm install --legacy-peer-deps && npm run build
|
||
|
|
||
|
# seccion final -- se omite git y archivos innecerarios para reducir imagen
|
||
|
FROM python:3.11-slim
|
||
|
|
||
|
RUN apt-get update && apt-get -y install git && apt-get clean
|
||
|
|
||
|
RUN useradd -m app
|
||
|
|
||
|
WORKDIR /srv
|
||
|
COPY --from=frontend /backend/project/ /srv/project
|
||
|
COPY --from=frontend /backend/app/ /srv/app
|
||
|
COPY --from=frontend /backend/readme.md /srv
|
||
|
COPY --from=frontend /backend/manage.py /srv
|
||
|
COPY --from=frontend /backend/requirements.txt /srv
|
||
|
COPY --from=frontend /frontend/dist/ /srv/project/dist
|
||
|
|
||
|
RUN pip install --no-cache-dir -r /srv/requirements.txt
|
||
|
|
||
|
COPY settings.paradero_backend.py /srv/project/settings.py
|
||
|
|
||
|
RUN chown -R app:app /srv
|
||
|
|
||
|
USER app
|
||
|
|
||
|
WORKDIR /srv
|
||
|
|
||
|
ENTRYPOINT ["python3"]
|
||
|
|
||
|
CMD ["manage.py", "runserver", "0.0.0.0:4000"]
|