Container: Add initial container for meshtastic-cli

Just a quick set of files to enable the build of (tagged) containers.
Both alpine and debian containers are available (~200MiB/~1.2GiB)
allowing us to use meshtastic cli with a quick docker run, instead of
having to build/install stuff locally.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
This commit is contained in:
Olliver Schinagl
2025-10-28 11:31:54 +01:00
parent dcd077d85e
commit 77db30125a
7 changed files with 161 additions and 0 deletions

24
Containerfile.alpine Normal file
View File

@@ -0,0 +1,24 @@
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Copyright (C) 2025 Olliver Schinagl <oliver@schinagl.nl>
ARG TARGET_VERSION="3.11-alpine"
ARG TARGET_ARCH="library"
FROM docker.io/${TARGET_ARCH}/python:${TARGET_VERSION}
WORKDIR /usr/local/app
COPY . /usr/local/app
RUN _poetry_venv_dir="$(mktemp -d -p "${TMPDIR:-/tmp}" 'poetry_venv.XXXXXX')" && \
python -m 'venv' "${_poetry_venv_dir}" && \
"${_poetry_venv_dir}/bin/pip" install 'poetry' && \
"${_poetry_venv_dir}/bin/poetry" config --local virtualenvs.create false && \
"${_poetry_venv_dir}/bin/poetry" install && \
rm -f -r "${_poetry_venv_dir}" && \
rm -f -r "/usr/local/app"
COPY "./bin/container-entrypoint.sh" "/init"
ENTRYPOINT [ "/init" ]