Docker_service/Dockerfile.paraderos

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"]