forked from inferno-os/inferno-os
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile
More file actions
43 lines (33 loc) · 1.25 KB
/
Dockerfile
File metadata and controls
43 lines (33 loc) · 1.25 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
FROM ubuntu:24.04 AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential bison ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY . .
ARG TARGETARCH
RUN if [ "$TARGETARCH" = "arm64" ]; then \
chmod +x build-linux-arm64.sh && ./build-linux-arm64.sh headless; \
else \
chmod +x build-linux-amd64.sh && ./build-linux-amd64.sh headless; \
fi
# --- Runtime image ---
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /inferno
# Emulator binary
COPY --from=builder /src/emu/Linux/o.emu /inferno/emu
# Runtime tree
COPY --from=builder /src/dis /inferno/dis
COPY --from=builder /src/lib /inferno/lib
COPY --from=builder /src/fonts /inferno/fonts
COPY --from=builder /src/module /inferno/module
COPY --from=builder /src/services /inferno/services
COPY --from=builder /src/locale /inferno/locale
# mkconfig and mkfiles for building from source inside container
COPY --from=builder /src/mkconfig /inferno/mkconfig
COPY --from=builder /src/mkfiles /inferno/mkfiles
RUN mkdir -p /inferno/tmp /inferno/usr/inferno /inferno/mnt
EXPOSE 6668 6673
ENTRYPOINT ["/inferno/emu", "-c1", "-r", "/inferno"]