MeshChatX/Dockerfile.build
Ivan fabd08f453
feat: improve portable storage handling and announce settings for page nodes
Also some cleanup and various fixes and additions to codebase
2026-07-28 18:07:39 -05:00

36 lines
1.3 KiB
Text

# Reproducible native build (wheel, Linux AppImage/deb/rpm/apk) in one image.
# Default target builds everything; override with --build-arg MESHCHATX_BUILD_TARGETS=wheel|electron|all
# Pick specific Linux package formats with --build-arg MESHCHATX_LINUX_FORMATS=appimage,deb,rpm,apk (default: all)
#
# Build (all formats):
# docker build -f Dockerfile.build -t meshchatx-build:local .
#
# Build only an AppImage and deb:
# docker build -f Dockerfile.build \
# --build-arg MESHCHATX_BUILD_TARGETS=electron \
# --build-arg MESHCHATX_LINUX_FORMATS=appimage,deb \
# -t meshchatx-build:local .
#
# Copy artifacts to the host (example):
# cid=$(docker create meshchatx-build:local)
# docker cp "$cid":/artifacts ./meshchatx-artifacts
# docker rm "$cid"
FROM python:3.14.4-slim-trixie
ENV DEBIAN_FRONTEND=noninteractive \
PYTHONUNBUFFERED=1 \
MESHCHATX_BUILD_TARGETS=all \
MESHCHATX_LINUX_FORMATS=all
ARG MESHCHATX_BUILD_TARGETS=all
ENV MESHCHATX_BUILD_TARGETS=${MESHCHATX_BUILD_TARGETS}
ARG MESHCHATX_LINUX_FORMATS=all
ENV MESHCHATX_LINUX_FORMATS=${MESHCHATX_LINUX_FORMATS}
WORKDIR /src
COPY . /src
RUN chmod +x scripts/ci/docker-build-entry.sh && \
find scripts/ci -maxdepth 1 -name '*.sh' -exec chmod +x {} + && \
bash scripts/ci/docker-build-entry.sh