Skip to content

Commit e0415b5

Browse files
rodion-mclaude
andcommitted
Dual-publish MCP images to Docker Hub for self-hosted distribution
Self-hosted customers use Docker Hub for all CodeAlive images. MCP was the only component on a separate registry (GHCR), which meant `docker compose pull` and `manage.sh update` didn't update it. Both CI and Release workflows now push to Docker Hub alongside GHCR: - Release: :mcp + :mcp-v{VERSION} (immutable) - CI (main): :mcp-dev Requires DOCKERHUB_USERNAME and DOCKERHUB_TOKEN repository secrets. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ab078ec commit e0415b5

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
env:
1010
DOCKER_REGISTRY: ghcr.io
1111
IMAGE_NAME: ghcr.io/codealive-ai/codealive-mcp
12+
DOCKERHUB_IMAGE: ivanbirukcodealive/codealive_ai
1213

1314
permissions:
1415
contents: read
@@ -92,6 +93,13 @@ jobs:
9293
username: ${{ github.actor }}
9394
password: ${{ secrets.GITHUB_TOKEN }}
9495

96+
- name: Login to Docker Hub
97+
if: github.event_name == 'push'
98+
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
99+
with:
100+
username: ${{ secrets.DOCKERHUB_USERNAME }}
101+
password: ${{ secrets.DOCKERHUB_TOKEN }}
102+
95103
# PR: build only (no push) to validate Dockerfile — single platform for speed
96104
- name: Build Docker image (PR validation)
97105
if: github.event_name == 'pull_request'
@@ -111,7 +119,9 @@ jobs:
111119
push: true
112120
platforms: linux/amd64,linux/arm64
113121
file: ./Dockerfile
114-
tags: ${{ env.IMAGE_NAME }}:main
122+
tags: |
123+
${{ env.IMAGE_NAME }}:main
124+
${{ env.DOCKERHUB_IMAGE }}:mcp-dev
115125
labels: |
116126
io.modelcontextprotocol.server.name=io.github.CodeAlive-AI/codealive-mcp
117127
cache-from: type=gha

.github/workflows/release.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ on:
2020
env:
2121
DOCKER_REGISTRY: ghcr.io
2222
IMAGE_NAME: ghcr.io/codealive-ai/codealive-mcp
23+
# Self-hosted customers get MCP from Docker Hub alongside backend images.
24+
DOCKERHUB_IMAGE: ivanbirukcodealive/codealive_ai
2325

2426
permissions:
2527
id-token: write # MCP Registry OIDC authentication
@@ -146,6 +148,12 @@ jobs:
146148
username: ${{ github.actor }}
147149
password: ${{ secrets.GITHUB_TOKEN }}
148150

151+
- name: Login to Docker Hub (self-hosted distribution)
152+
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
153+
with:
154+
username: ${{ secrets.DOCKERHUB_USERNAME }}
155+
password: ${{ secrets.DOCKERHUB_TOKEN }}
156+
149157
- name: Build and push Docker image
150158
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
151159
with:
@@ -157,6 +165,8 @@ jobs:
157165
${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }}
158166
${{ env.IMAGE_NAME }}:v${{ steps.version.outputs.version }}
159167
${{ env.IMAGE_NAME }}:latest
168+
${{ env.DOCKERHUB_IMAGE }}:mcp
169+
${{ env.DOCKERHUB_IMAGE }}:mcp-v${{ steps.version.outputs.version }}
160170
labels: |
161171
io.modelcontextprotocol.server.name=io.github.CodeAlive-AI/codealive-mcp
162172
cache-from: type=gha

0 commit comments

Comments
 (0)