zsvo/Dockerfile
2026-03-13 15:18:31 +03:00

59 lines
1.2 KiB
Docker

# Dockerfile for ZSVO Package Manager
# Linux-based build with build tools
FROM ubuntu:22.04
# Set non-interactive frontend for package installation
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and runtime dependencies
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
meson \
ninja-build \
pkg-config \
wget \
curl \
git \
tar \
gzip \
xz-utils \
zstd \
python3 \
python3-pip \
lua5.1 \
ca-certificates \
tzdata \
&& rm -rf /var/lib/apt/lists/*
# Install Go
RUN wget -O /tmp/go.tar.gz https://golang.org/dl/go1.23.0.linux-amd64.tar.gz \
&& tar -C /usr/local -xzf /tmp/go.tar.gz \
&& rm /tmp/go.tar.gz
# Set Go environment
ENV PATH="/usr/local/go/bin:${PATH}"
ENV GOPATH="/root/go"
ENV GOBIN="/root/go/bin"
ENV CGO_ENABLED=0
# Create app directory
WORKDIR /app
# Copy source code
COPY . .
# Build ZSVO for Linux
RUN go build -o zsvo .
# Create necessary directories for ZSVO
RUN mkdir -p /tmp/pkg-work \
&& mkdir -p /var/lib/pkgdb \
&& mkdir -p /var/cache/packages
# Make it executable
RUN chmod +x /app/zsvo
# Set default command
CMD ["/app/zsvo", "--help"]