mirror of
https://github.com/jaypyles/Scraperr.git
synced 2026-08-14 08:46:29 +00:00
44 lines
1.1 KiB
Docker
44 lines
1.1 KiB
Docker
# Build python dependencies
|
|
FROM python:3.10-slim AS pybuilder
|
|
|
|
RUN apt update && apt install -y uvicorn
|
|
RUN python -m pip --no-cache-dir install pdm
|
|
RUN pdm config python.use_venv false
|
|
|
|
COPY pyproject.toml pdm.lock /project/app/
|
|
COPY ./api/backend/ /project/app/api
|
|
|
|
WORKDIR /project/app
|
|
RUN pdm install
|
|
|
|
# Build js dependencies
|
|
FROM node:latest AS jsbuilder
|
|
|
|
WORKDIR /project/app
|
|
COPY package*.json ./
|
|
|
|
RUN npm install
|
|
COPY public ./public
|
|
COPY src ./src
|
|
COPY tsconfig.json tailwind.config.js ./
|
|
RUN npm install --global serve
|
|
|
|
# Create final image
|
|
FROM python:3.10-slim
|
|
|
|
ENV PYTHONPATH=/project/pkgs
|
|
COPY --from=pybuilder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
|
|
COPY --from=pybuilder /usr/local/bin /usr/local/bin
|
|
COPY --from=pybuilder /project/app /project/api
|
|
|
|
COPY --from=jsbuilder /usr/local/lib/node_modules /usr/local/lib/node_modules
|
|
COPY --from=jsbuilder /usr/local/bin /usr/local/bin
|
|
COPY --from=jsbuilder /project/app /project/app
|
|
|
|
EXPOSE 8000 3000
|
|
|
|
COPY start.sh /app/start.sh
|
|
RUN chmod +x /app/start.sh
|
|
|
|
ENTRYPOINT ["/app/start.sh"]
|