From a1a6ce9c1c1369825625a1767e879139b6d4964d Mon Sep 17 00:00:00 2001 From: Christian Moser Date: Wed, 14 Jan 2026 14:39:18 +0100 Subject: [PATCH] 2026.01.14 14:39:18 (laptop1.cmoser.eu) --- podman-login | 20 +++++++++++++++ project.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100755 podman-login create mode 100644 project.sh diff --git a/podman-login b/podman-login new file mode 100755 index 0000000..44f2a2a --- /dev/null +++ b/podman-login @@ -0,0 +1,20 @@ +#!/bin/sh +. ~/.credentials/podman.conf +if [ -n "$GHCR_TOKEN" ]; then + echo $GHCR_TOKEN | podman login ghcr.io -u c9moser --password-stdin >/dev/null + if [ $? -eq 0 ]; then + echo "podman: logged in to ghcr.io" + else + echo "ghcr.io login failed!" + fi +fi + +if [ .n "$DOCKERIO_TOKEN" ]; then + echo $DOCKERIO_TOKEN | podman login docker.io -u c9moser --password-stdin >/dev/null + if [ $? -eq 0 ]; then + echo "podman: logged in to docker.io" + else + echo "docker.io login failed!" + fi +fi + diff --git a/project.sh b/project.sh new file mode 100644 index 0000000..957a08d --- /dev/null +++ b/project.sh @@ -0,0 +1,70 @@ +# Project Variables and functions + +PRJ_DIR="${HOME}/projekte" ; export PRJ_DIR +PRJ_PYTHON_DIR="${PRJ_DIR}/python" ; export PRJ_PYTHON_DIR +PRJ_DJANGO_DIR="${PRJ_DIR}/django" ; export PRJ_DJANGO_DIR +PRJ_PHP_DIR="${PRJ_DIR}/php" ; export PRJ_PHP_DIR +PRJ_CPP_DIR="${PRJ_DIR}/c++" ; export PRJ_CPP_DIR +PRJ_AVR_DIR="${PRJ_DIR}/avr" ; export PRJ_AVR_DIR + +# sgbackup +PRJ_WEBSGBACKUP_DIR="${PRJ_DJANGO_DIR}/www-sgbackup" ; export PRJ_WEBSGBACKUP_DIR +PRJ_SGBACKUP_DIR="${PRJ_PYTHON_DIR}/sgbackup" ; export PRJ_SGBACKUP_DIR + +PRJ_TINYWIKI_DIR="${PRJ_DJANGO_DIR}/tinywiki" ; export PRJ_DJANGO_TINYWIKI_DIR + +PODMAN_TINYWIKI_DEV_TARGETS="containers.cmoser.eu/cmoser/devel/tinywiki" +PODMAN_TINYWIKI_TARGETS="containers.cmoser.eu/cmoser/prod/tinywiki containers.cmoser.eu/tinytools/tinywiki" + +tinywiki-build-dev() { + cd "${RPJ_TINYWIKI_DIR}" + podman build -t tinywiki-dev -f Dockerfile.devel . +} + +tinywiki-build() { + cd "${PRJ_TINYWIKI_DIR}" + podman build -t tinywiki-prod -f Dockerfile.prod . +} + +tinywiki-publish-dev() { + podman login containers.cmoser.eu 2>&1 >/dev/null + + tinywiki-build-dev + for t in $PODMAN_TINYWIKI_DEV_TARGETS; do + local target=$t:latest + podman tag tinywiki-dev $target + podman push $target + done +} + +tinywiki-publish() { + podman login containers.cmoser.eu 2>&1 >/dev/null + target0=containers.cmoser.eu/cmoser/prod/tinywiki + target1=containers.cmoser.eu/tinytools/tinywiki + + tinywiki-build + + local versions="" + + if [ $# -eq 0 ]; then + local versions="latest" + else + while [ $# -gt 0 ]; do + if [ -z "$versions" ]; then + local versions="$1" + else + local versions="$versions $1" + fi + shift + done + fi + echo $versions + for t in $PODMAN_TINYWIKI_TARGETS; do + for v in $versions; do + local target="$t:$v" + podman tag tinywiki-prod $target + podman push $target + done + done +} +