erpnext/scripts/coolify/sync-main-from-forgejo.sh
epistemophiliac 2aca11bb75 Use :main tag only and host sync instead of compose preload.
Remove image-preload service (compose creates all containers before it can run); Jenkins and sync-main-from-forgejo.sh load :main on the host internally.
2026-06-16 21:05:44 -04:00

35 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Copy :main from internal Forgejo into host Docker (bypasses Cloudflare).
# Run on the Coolify host as root before first deploy, or after Jenkins pushes a new image.
set -euo pipefail
REGISTRY_IMAGE="${CUSTOM_IMAGE:-git.aexoradao.com/epistemophiliac/erpnext}"
IMAGE_TAG="${CUSTOM_TAG:-main}"
FORGEJO_HOST="${FORGEJO_HOST:-forgejo-vydgeq365afzmxe4s1d75fwv}"
FORGEJO_NETWORK="${FORGEJO_NETWORK:-vydgeq365afzmxe4s1d75fwv}"
SKOPEO_IMAGE="${SKOPEO_IMAGE:-quay.io/skopeo/stable:v1.17.0}"
if [ -z "${REGISTRY_USER:-}" ] || [ -z "${REGISTRY_PASSWORD:-}" ]; then
echo "ERROR: set REGISTRY_USER and REGISTRY_PASSWORD"
exit 1
fi
if ! docker info >/dev/null 2>&1; then
echo "ERROR: run as root on the Coolify host"
exit 1
fi
echo "=== Sync ${REGISTRY_IMAGE}:${IMAGE_TAG} from internal Forgejo ==="
docker run --rm \
--network "${FORGEJO_NETWORK}" \
-v /var/run/docker.sock:/var/run/docker.sock \
"${SKOPEO_IMAGE}" \
copy \
"docker://${FORGEJO_HOST}:3000/epistemophiliac/erpnext:${IMAGE_TAG}" \
"docker-daemon:${REGISTRY_IMAGE}:${IMAGE_TAG}" \
--src-creds "${REGISTRY_USER}:${REGISTRY_PASSWORD}" \
--src-tls-verify=false \
--retry-times 3
echo "OK: ${REGISTRY_IMAGE}:${IMAGE_TAG} ready on host — deploy erpnext in Coolify"