-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile.tuxrun-dispatcher
More file actions
37 lines (31 loc) · 2.04 KB
/
Dockerfile.tuxrun-dispatcher
File metadata and controls
37 lines (31 loc) · 2.04 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
ARG LAVA_ARCH=amd64
FROM registry.gitlab.com/lava/lava/${LAVA_ARCH}/lava-dispatcher:2026.01.dev0085
ARG HOST_ARCH=amd64
ARG EXTRA_PACKAGES
RUN echo 'Acquire::Retries "3";' > /etc/apt/apt.conf.d/80-retries
RUN apt-get update && \
apt-get install --no-install-recommends --yes gnupg && \
apt-get install --yes libgpgme11-dev podman ${EXTRA_PACKAGES} && \
mv /usr/bin/run-parts /usr/bin/run-parts.real && \
echo '#!/bin/sh\nexit 0' > /usr/bin/run-parts && \
chmod +x /usr/bin/run-parts && \
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes linux-image-cloud-${HOST_ARCH} && \
mv /usr/bin/run-parts.real /usr/bin/run-parts && \
echo "deb http://ftp.de.debian.org/debian/ testing main contrib non-free" > /etc/apt/sources.list.d/testing.list && \
echo "deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free" >> /etc/apt/sources.list.d/testing.list && \
apt-get update && \
apt-get -t testing install --no-install-recommends --yes qemu-system-arm qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-riscv qemu-system-s390x qemu-system-sparc qemu-system-x86 && \
apt-get upgrade --yes && \
apt-get purge --yes gnupg && \
apt-mark manual qemu-system-arm qemu-system-mips qemu-system-misc qemu-system-ppc qemu-system-riscv qemu-system-s390x qemu-system-sparc qemu-system-x86 && \
apt-get autoremove --purge --yes && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY . /tuxrun/
RUN cd /tuxrun && pip3 install --break-system-packages . && \
cd - && rm -rf /tuxrun
RUN podman --version && tuxrun --version
ENTRYPOINT ["/root/entrypoint.sh"]
# FIXME: Ugly hack to launch the http server here. This needs to be changed to use tuxmake runtime where we can run multiple commands. The launch of http server was tested with podman run command but that did not pass the sigkill correctly to lava-run.
RUN sed -i "s|set -e|set -e \npython3 -m http.server 80 -d /var/lib/lava/dispatcher/ \&|g" /root/entrypoint.sh ; cat /root/entrypoint.sh
# vim: ft=dockerfile