-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDockerfile
41 lines (32 loc) · 930 Bytes
/
Dockerfile
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
FROM debian:bullseye-slim as builder
# Install build dependencies
RUN apt-get update && apt-get install -y \
wget \
xz-utils \
build-essential \
libvulkan-dev \
vulkan-tools \
&& rm -rf /var/lib/apt/lists/*
# Install Zig
WORKDIR /tmp
RUN wget https://ziglang.org/download/0.11.0/zig-linux-x86_64-0.11.0.tar.xz \
&& tar xf zig-linux-x86_64-0.11.0.tar.xz \
&& mv zig-linux-x86_64-0.11.0 /usr/local/zig
# Copy project files
WORKDIR /app
COPY . .
# Build project
RUN /usr/local/zig/zig build -Doptimize=ReleaseFast
# Final stage
FROM debian:bullseye-slim
# Install runtime dependencies
RUN apt-get update && apt-get install -y \
libvulkan1 \
mesa-vulkan-drivers \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /app/zig-out/bin/grincel .
# Create entrypoint script
COPY docker-entrypoint.sh .
RUN chmod +x docker-entrypoint.sh
ENTRYPOINT ["./docker-entrypoint.sh"]