59 lines
1.2 KiB
Docker
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"]
|