From 2fb70437901ace2fb290cd9564e49241db03fe39 Mon Sep 17 00:00:00 2001 From: AdrianoDev Date: Wed, 29 Apr 2026 09:09:47 +0200 Subject: [PATCH] ci: push base image al registry + parametrizza BASE_IMAGE nei service Dockerfile Buildx con driver docker-container non vede image caricate nel daemon locale. Soluzione: push base come git.tielogic.xyz/adriano/cerbero-mcp/ base:latest e i 6 service Dockerfile usano ${BASE_IMAGE}:${BASE_TAG} con default "cerbero-base" per dev locale, override CI a path registry. --- .gitea/workflows/ci.yml | 32 ++++++++++++++++++++++--------- docker/mcp-alpaca.Dockerfile | 3 ++- docker/mcp-bybit.Dockerfile | 3 ++- docker/mcp-deribit.Dockerfile | 3 ++- docker/mcp-hyperliquid.Dockerfile | 3 ++- docker/mcp-macro.Dockerfile | 3 ++- docker/mcp-sentiment.Dockerfile | 3 ++- 7 files changed, 35 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 52d7cdd..22e6600 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -126,13 +126,15 @@ jobs: id: meta run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - name: Build base image (load to local daemon) + - name: Build & push base image uses: docker/build-push-action@v6 with: context: . file: docker/base.Dockerfile - tags: cerbero-base:latest - load: true + push: true + tags: | + ${{ env.IMAGE_PREFIX }}/base:latest + ${{ env.IMAGE_PREFIX }}/base:sha-${{ steps.meta.outputs.sha }} cache-from: type=registry,ref=${{ env.IMAGE_PREFIX }}/buildcache:base cache-to: type=registry,ref=${{ env.IMAGE_PREFIX }}/buildcache:base,mode=max @@ -153,7 +155,9 @@ jobs: with: context: . file: docker/mcp-deribit.Dockerfile - build-args: BASE_TAG=latest + build-args: | + BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base + BASE_TAG=latest push: true tags: | ${{ env.IMAGE_PREFIX }}/mcp-deribit:latest @@ -166,7 +170,9 @@ jobs: with: context: . file: docker/mcp-bybit.Dockerfile - build-args: BASE_TAG=latest + build-args: | + BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base + BASE_TAG=latest push: true tags: | ${{ env.IMAGE_PREFIX }}/mcp-bybit:latest @@ -179,7 +185,9 @@ jobs: with: context: . file: docker/mcp-hyperliquid.Dockerfile - build-args: BASE_TAG=latest + build-args: | + BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base + BASE_TAG=latest push: true tags: | ${{ env.IMAGE_PREFIX }}/mcp-hyperliquid:latest @@ -192,7 +200,9 @@ jobs: with: context: . file: docker/mcp-alpaca.Dockerfile - build-args: BASE_TAG=latest + build-args: | + BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base + BASE_TAG=latest push: true tags: | ${{ env.IMAGE_PREFIX }}/mcp-alpaca:latest @@ -205,7 +215,9 @@ jobs: with: context: . file: docker/mcp-macro.Dockerfile - build-args: BASE_TAG=latest + build-args: | + BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base + BASE_TAG=latest push: true tags: | ${{ env.IMAGE_PREFIX }}/mcp-macro:latest @@ -218,7 +230,9 @@ jobs: with: context: . file: docker/mcp-sentiment.Dockerfile - build-args: BASE_TAG=latest + build-args: | + BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base + BASE_TAG=latest push: true tags: | ${{ env.IMAGE_PREFIX }}/mcp-sentiment:latest diff --git a/docker/mcp-alpaca.Dockerfile b/docker/mcp-alpaca.Dockerfile index e50b33e..e95fd3d 100644 --- a/docker/mcp-alpaca.Dockerfile +++ b/docker/mcp-alpaca.Dockerfile @@ -1,6 +1,7 @@ +ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest -FROM cerbero-base:${BASE_TAG} AS builder +FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-alpaca ./services/mcp-alpaca RUN uv sync --frozen --no-dev --package mcp-alpaca diff --git a/docker/mcp-bybit.Dockerfile b/docker/mcp-bybit.Dockerfile index cf9617c..611abf2 100644 --- a/docker/mcp-bybit.Dockerfile +++ b/docker/mcp-bybit.Dockerfile @@ -1,6 +1,7 @@ +ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest -FROM cerbero-base:${BASE_TAG} AS builder +FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-bybit ./services/mcp-bybit RUN uv sync --frozen --no-dev --package mcp-bybit diff --git a/docker/mcp-deribit.Dockerfile b/docker/mcp-deribit.Dockerfile index d057536..d2dcb81 100644 --- a/docker/mcp-deribit.Dockerfile +++ b/docker/mcp-deribit.Dockerfile @@ -1,8 +1,9 @@ # CER-P5-012 multi-stage slim: builder da cerbero-base (con uv + toolchain), # runtime da python:3.11-slim (solo venv + source). +ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest -FROM cerbero-base:${BASE_TAG} AS builder +FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-deribit ./services/mcp-deribit RUN uv sync --frozen --no-dev --package mcp-deribit diff --git a/docker/mcp-hyperliquid.Dockerfile b/docker/mcp-hyperliquid.Dockerfile index 9ccc8c2..ce23442 100644 --- a/docker/mcp-hyperliquid.Dockerfile +++ b/docker/mcp-hyperliquid.Dockerfile @@ -1,6 +1,7 @@ +ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest -FROM cerbero-base:${BASE_TAG} AS builder +FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-hyperliquid ./services/mcp-hyperliquid RUN uv sync --frozen --no-dev --package mcp-hyperliquid diff --git a/docker/mcp-macro.Dockerfile b/docker/mcp-macro.Dockerfile index 753fc58..cff87f2 100644 --- a/docker/mcp-macro.Dockerfile +++ b/docker/mcp-macro.Dockerfile @@ -1,6 +1,7 @@ +ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest -FROM cerbero-base:${BASE_TAG} AS builder +FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-macro ./services/mcp-macro RUN uv sync --frozen --no-dev --package mcp-macro diff --git a/docker/mcp-sentiment.Dockerfile b/docker/mcp-sentiment.Dockerfile index 06ccdb1..b653d71 100644 --- a/docker/mcp-sentiment.Dockerfile +++ b/docker/mcp-sentiment.Dockerfile @@ -1,6 +1,7 @@ +ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest -FROM cerbero-base:${BASE_TAG} AS builder +FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-sentiment ./services/mcp-sentiment RUN uv sync --frozen --no-dev --package mcp-sentiment