-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathDockerfile.test
29 lines (23 loc) · 1.02 KB
/
Dockerfile.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FROM ubuntu:24.04
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
RUN apt-get update && apt-get install -y \
git make npm
# Chromium dependencies
RUN apt-get install -y fonts-noto-color-emoji libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libxkbcommon0 libxdamage1 libpango-1.0-0 libcairo2 libasound2t64
ENV LC_ALL="en_US.UTF-8"
USER ubuntu
WORKDIR /usr/src/app
RUN mkdir frontend
# Python dependencies
RUN --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=cache,target=/home/ubuntu/.cache/uv,uid=1000 \
uv sync --frozen --no-install-project
# Node.js dependencies
RUN --mount=type=bind,source=frontend/package.json,target=frontend/package.json \
--mount=type=bind,source=frontend/package-lock.json,target=frontend/package-lock.json \
--mount=type=cache,target=/home/ubuntu/.npm,uid=1000 \
cd frontend && npm ci && npx puppeteer browsers install chrome
COPY --chown=ubuntu:ubuntu . .
RUN make build
CMD ["make", "run"]