mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-28 16:41:52 +08:00
49 lines
1.6 KiB
Docker
49 lines
1.6 KiB
Docker
# One-KVM Runtime Image (full)
|
|
# This Dockerfile only packages pre-compiled binaries (no compilation)
|
|
# Used after cross-compiling with `cross build`
|
|
# Using Debian 11 for maximum compatibility (GLIBC 2.31)
|
|
|
|
ARG TARGETPLATFORM=linux/amd64
|
|
|
|
FROM debian:11-slim
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
# Install runtime dependencies in a single layer
|
|
# All codec libraries (libx264, libx265, libopus) are now statically linked
|
|
# Only hardware acceleration drivers and core system libraries remain dynamic
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
# Core runtime (all platforms) - no codec libs needed
|
|
ca-certificates \
|
|
libudev1 \
|
|
libasound2 \
|
|
# v4l2 is handled by kernel, minimal userspace needed
|
|
libv4l-0 \
|
|
&& \
|
|
# Platform-specific hardware acceleration
|
|
if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
|
|
apt-get install -y --no-install-recommends \
|
|
libva2 libva-drm2 libva-x11-2 libx11-6 libxcb1 libxau6 libxdmcp6 libmfx1; \
|
|
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
|
|
apt-get install -y --no-install-recommends \
|
|
libdrm2 libva2; \
|
|
elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \
|
|
apt-get install -y --no-install-recommends \
|
|
libdrm2 libva2; \
|
|
fi && \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
mkdir -p /etc/one-kvm/ventoy
|
|
|
|
# Copy init script
|
|
COPY --chmod=755 init.sh /init.sh
|
|
|
|
# Copy binaries (these are placed by the build script)
|
|
COPY --chmod=755 one-kvm ttyd gostc easytier-core /usr/bin/
|
|
|
|
# Copy ventoy resources if they exist
|
|
COPY ventoy/ /etc/one-kvm/ventoy/
|
|
|
|
# Entrypoint
|
|
CMD ["/init.sh"]
|