2024-02-19 15:42:45 +08:00
|
|
|
ARG IMAGE_PREFIX=git.0x7f.app/woj
|
2024-03-13 20:03:12 +08:00
|
|
|
ARG VERSION=latest
|
2024-02-19 15:42:45 +08:00
|
|
|
|
2024-03-13 20:03:12 +08:00
|
|
|
# Base image
|
|
|
|
FROM ${IMAGE_PREFIX}/woj-server-base:${VERSION} AS base
|
2023-07-15 18:14:50 +08:00
|
|
|
|
2024-03-13 20:03:12 +08:00
|
|
|
# Rootfs: debian-full
|
|
|
|
FROM ${IMAGE_PREFIX}/debian-full:${VERSION} AS rootfs-full
|
2023-07-15 18:14:50 +08:00
|
|
|
|
2024-03-13 20:03:12 +08:00
|
|
|
# Rootfs: debian-full
|
|
|
|
FROM ${IMAGE_PREFIX}/debian-run:${VERSION} AS rootfs-run
|
2023-07-15 18:14:50 +08:00
|
|
|
|
2024-03-13 20:03:12 +08:00
|
|
|
# Main image
|
2024-03-13 21:14:09 +08:00
|
|
|
FROM docker.io/library/debian:bookworm-slim
|
2023-07-15 18:14:50 +08:00
|
|
|
|
|
|
|
WORKDIR /app
|
2024-03-13 21:14:09 +08:00
|
|
|
RUN apt-get update && apt-get upgrade -y \
|
|
|
|
&& apt-get install -y ca-certificates libnl-route-3-200 libprotobuf32 tini \
|
|
|
|
&& apt-get clean && rm -rf /var/lib/apt/lists
|
2023-07-15 18:14:50 +08:00
|
|
|
|
2023-08-11 18:54:00 +08:00
|
|
|
# sources
|
2024-03-13 20:03:12 +08:00
|
|
|
COPY --from=base /builder/resource/runner /app/resource/runner
|
|
|
|
COPY --from=base /builder/config.docker.yaml /app
|
|
|
|
COPY --from=base /builder/docker-entrypoint.sh /app
|
|
|
|
COPY --from=base /builder/woj /app
|
|
|
|
|
|
|
|
# rootfs
|
|
|
|
COPY --from=rootfs-full / /app/resource/runner/framework/rootfs/full
|
|
|
|
COPY --from=rootfs-run / /app/resource/runner/framework/rootfs/run
|
|
|
|
|
|
|
|
# nsjail
|
|
|
|
COPY --from=rootfs-full /woj/framework/scripts/nsjail /app/resource/runner/framework/scripts/nsjail
|
2023-07-15 18:14:50 +08:00
|
|
|
|
2024-01-27 19:54:09 +08:00
|
|
|
# reap zombies from containerd-shim
|
|
|
|
ENTRYPOINT ["/sbin/tini", "/app/docker-entrypoint.sh"]
|