-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
72 lines (62 loc) · 1.95 KB
/
Copy pathDockerfile
File metadata and controls
72 lines (62 loc) · 1.95 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
FROM python:3.12-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive \
PDM_CHECK_UPDATE=false \
PDM_VENV_IN_PROJECT=1 \
PYTHONUNBUFFERED=1
RUN apt-get update && \
apt-get install -y --no-install-recommends \
bash \
bc \
bison \
build-essential \
ca-certificates \
cpio \
curl \
flex \
git \
kmod \
libelf-dev \
libncurses-dev \
libssl-dev \
openssh-client \
patch \
psmisc \
qemu-system-x86 \
qemu-utils \
rsync \
sudo \
wget && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN python -m pip install --no-cache-dir --upgrade pip pdm
RUN useradd -m -s /bin/bash ppatch && \
echo "ppatch ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ppatch && \
chmod 0440 /etc/sudoers.d/ppatch
WORKDIR /opt/ppatch_partner
COPY pyproject.toml pdm.lock README.md ./
COPY src ./src
RUN pdm install --prod --no-editable && \
chown -R ppatch:ppatch /opt/ppatch_partner
COPY docker/entrypoint.sh /usr/local/bin/ppatch-partner-entrypoint
RUN chmod +x /usr/local/bin/ppatch-partner-entrypoint
USER ppatch
ENV PATH="/opt/ppatch_partner/.venv/bin:${PATH}" \
PYTHONPATH=/opt/ppatch_partner/src \
WORKSPACE_ROOT=/workspace \
LINUX_SOURCE=/workspace/linux_source \
PATCH_DIR=/workspace/patches \
PPATCH_OUTPUT=/workspace/ppatch_log \
WORK_DIR_PATH=/workspace/exps \
CONFIG_DEFAULT=/workspace/configs/x86_64_common_config \
SCRIPTS_PATH=/opt/ppatch_partner/src/scripts \
POC_DIR=/workspace/pocs \
IMAGE_PATH=/workspace/images \
SYZKALLER_PATH=/workspace/syzkaller/syzkaller \
SYZKALLER_IMAGE=/workspace/images/bullseye.img \
SYZKALLER_SSH_KEY=/workspace/images/bullseye.id_rsa \
POSTGRESQL_URL=postgresql://ppatch:ppatch@postgres:5432/ \
POSTGRESQL_DATABASE=ppatch_partner \
GCC_VERSION=gcc
WORKDIR /workspace
ENTRYPOINT ["ppatch-partner-entrypoint"]
CMD ["python", "-m", "ppatch_partner", "--help"]