From fc765fa25500847de4ef673901c5e2c4a7bed3b1 Mon Sep 17 00:00:00 2001 From: Pouzor Date: Wed, 27 May 2026 21:32:55 +0200 Subject: [PATCH] ci(docker): publish homelable-mcp image to GHCR Add mcp matrix entry in docker-publish workflow so the MCP server image is built and pushed alongside backend/frontend. Also wire the prebuilt compose file so users can pull and run it directly. Closes #162 --- .github/workflows/docker-publish.yml | 11 +++++++++-- docker-compose.prebuilt.yml | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 600ae67..17c817f 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -16,14 +16,21 @@ jobs: matrix: include: - image: ghcr.io/pouzor/homelable-backend + context: . dockerfile: Dockerfile.backend build_args: "" - image: ghcr.io/pouzor/homelable-frontend + context: . dockerfile: Dockerfile.frontend build_args: "" - image: ghcr.io/pouzor/homelable-frontend-standalone + context: . dockerfile: Dockerfile.frontend build_args: "VITE_STANDALONE=true" + - image: ghcr.io/pouzor/homelable-mcp + context: ./mcp + dockerfile: Dockerfile.mcp + build_args: "" steps: - uses: actions/checkout@v4 @@ -55,8 +62,8 @@ jobs: - name: Build and push uses: docker/build-push-action@v6 with: - context: . - file: ${{ matrix.dockerfile }} + context: ${{ matrix.context }} + file: ${{ matrix.context }}/${{ matrix.dockerfile }} platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} diff --git a/docker-compose.prebuilt.yml b/docker-compose.prebuilt.yml index 6a9d777..c62ae23 100644 --- a/docker-compose.prebuilt.yml +++ b/docker-compose.prebuilt.yml @@ -24,6 +24,20 @@ services: networks: - homelable + mcp: + image: ghcr.io/pouzor/homelable-mcp:latest + restart: unless-stopped + ports: + - "8001:8001" + env_file: + - .env + environment: + BACKEND_URL: "http://backend:8000" + depends_on: + - backend + networks: + - homelable + volumes: backend_data: