Dockerfile now builds client
This commit is contained in:
@@ -1,10 +1,2 @@
|
|||||||
.git
|
client/dist
|
||||||
.github
|
client/node_modules
|
||||||
.venv
|
|
||||||
.vscode
|
|
||||||
build
|
|
||||||
Dockerfile
|
|
||||||
tests
|
|
||||||
|
|
||||||
client
|
|
||||||
!client/dist
|
|
||||||
18
Dockerfile
18
Dockerfile
@@ -1,4 +1,11 @@
|
|||||||
FROM python:3.11-alpine
|
FROM node:16-alpine as client-builder
|
||||||
|
|
||||||
|
COPY ./client /client
|
||||||
|
WORKDIR /client
|
||||||
|
RUN npm install
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM python:3.11-alpine as runner
|
||||||
|
|
||||||
# Add local user so we don't run as root
|
# Add local user so we don't run as root
|
||||||
RUN adduser -D app
|
RUN adduser -D app
|
||||||
@@ -7,10 +14,17 @@ USER app
|
|||||||
ENV PATH="/home/app/.local/bin:${PATH}"
|
ENV PATH="/home/app/.local/bin:${PATH}"
|
||||||
|
|
||||||
# Copy and install app
|
# Copy and install app
|
||||||
COPY --chown=app:app ./ /home/app/spoolman/
|
COPY --chown=app:app spoolman /home/app/spoolman/spoolman
|
||||||
|
COPY --chown=app:app pyproject.toml /home/app/spoolman/
|
||||||
|
COPY --chown=app:app requirements.txt /home/app/spoolman/
|
||||||
|
COPY --chown=app:app README.md /home/app/spoolman/
|
||||||
|
|
||||||
WORKDIR /home/app/spoolman
|
WORKDIR /home/app/spoolman
|
||||||
RUN pip install --user .
|
RUN pip install --user .
|
||||||
|
|
||||||
|
# Copy built client
|
||||||
|
COPY --chown=app:app --from=client-builder /client/dist /home/app/spoolman/client/dist
|
||||||
|
|
||||||
# Run command
|
# Run command
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
CMD ["uvicorn", "spoolman.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
CMD ["uvicorn", "spoolman.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||||
|
|||||||
Reference in New Issue
Block a user