Unificar workflows - build app y MCP server juntos
This commit is contained in:
@@ -11,6 +11,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
REG: ${{ vars.REGISTRY_URL }}
|
REG: ${{ vars.REGISTRY_URL }}
|
||||||
APP_NAME: ${{ vars.APP_NAME }}
|
APP_NAME: ${{ vars.APP_NAME }}
|
||||||
|
REPO_OWNER: ${{ github.repository_owner }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: docker/setup-buildx-action@v2
|
- uses: docker/setup-buildx-action@v2
|
||||||
@@ -23,9 +24,16 @@ jobs:
|
|||||||
- name: Build+push ${{ vars.APP_NAME }}
|
- name: Build+push ${{ vars.APP_NAME }}
|
||||||
run: |
|
run: |
|
||||||
cd nuxt4
|
cd nuxt4
|
||||||
docker build -t $REG/${{ github.repository_owner }}/$APP_NAME:${{ github.sha }} -t $REG/${{ github.repository_owner }}/$APP_NAME:latest .
|
docker build -t $REG/$REPO_OWNER/$APP_NAME:${{ github.sha }} -t $REG/$REPO_OWNER/$APP_NAME:latest .
|
||||||
docker push $REG/${{ github.repository_owner }}/$APP_NAME:${{ github.sha }}
|
docker push $REG/$REPO_OWNER/$APP_NAME:${{ github.sha }}
|
||||||
docker push $REG/${{ github.repository_owner }}/$APP_NAME:latest
|
docker push $REG/$REPO_OWNER/$APP_NAME:latest
|
||||||
|
|
||||||
|
- name: Build+push MCP Docker Server
|
||||||
|
run: |
|
||||||
|
cd mcp-docker-server
|
||||||
|
docker build -t $REG/$REPO_OWNER/mcp-docker-server:${{ github.sha }} -t $REG/$REPO_OWNER/mcp-docker-server:latest .
|
||||||
|
docker push $REG/$REPO_OWNER/mcp-docker-server:${{ github.sha }}
|
||||||
|
docker push $REG/$REPO_OWNER/mcp-docker-server:latest
|
||||||
|
|
||||||
#───────────────── deploy ─────────────────
|
#───────────────── deploy ─────────────────
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
name: Deploy MCP Docker Server
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
paths:
|
|
||||||
- 'mcp-docker-server/**'
|
|
||||||
- '.gitea/workflows/deploy-mcp-docker.yml'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-and-deploy:
|
|
||||||
runs-on: docker
|
|
||||||
env:
|
|
||||||
REG: ${{ vars.REGISTRY_URL }}
|
|
||||||
REPO_OWNER: ${{ github.repository_owner }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: docker/setup-buildx-action@v2
|
|
||||||
|
|
||||||
- name: Login to registry
|
|
||||||
run: docker login ${{ vars.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Build and push MCP Docker server
|
|
||||||
run: |
|
|
||||||
cd mcp-docker-server
|
|
||||||
docker build -t $REG/$REPO_OWNER/mcp-docker-server:${{ github.sha }} -t $REG/$REPO_OWNER/mcp-docker-server:latest .
|
|
||||||
docker push $REG/$REPO_OWNER/mcp-docker-server:${{ github.sha }}
|
|
||||||
docker push $REG/$REPO_OWNER/mcp-docker-server:latest
|
|
||||||
|
|
||||||
- name: Deploy to server
|
|
||||||
run: |
|
|
||||||
cd $HOME
|
|
||||||
docker compose pull mcp-docker
|
|
||||||
docker compose --project-name ${{ vars.APP_NAME }} up -d mcp-docker
|
|
||||||
@@ -35,13 +35,13 @@ Este repositorio contiene la documentación del funcionamiento del sistema Nucle
|
|||||||
Aplicación Nuxt 4 con la documentación del sistema Nucleo, expuesta mediante Traefik con autenticación Authentik.
|
Aplicación Nuxt 4 con la documentación del sistema Nucleo, expuesta mediante Traefik con autenticación Authentik.
|
||||||
|
|
||||||
### MCP Docker Server (`mcp-docker`)
|
### MCP Docker Server (`mcp-docker`)
|
||||||
Servidor MCP oficial de Docker (`docker:cli`) que permite gestionar contenedores Docker mediante lenguaje natural. Este servicio:
|
Servidor MCP de Docker (`ckreiling/mcp-server-docker`) que permite gestionar contenedores Docker mediante lenguaje natural. Este servicio:
|
||||||
- Usa el MCP Gateway en modo streaming (puerto 8080)
|
- Usa el puerto 8080 para comunicación MCP
|
||||||
- Tiene acceso al socket de Docker del host (solo lectura)
|
- Tiene acceso al socket de Docker del host (solo lectura)
|
||||||
- Se ejecuta en las redes `principal` y `traefik-network`
|
- Se ejecuta en las redes `principal` y `traefik-network`
|
||||||
- **Expuesto públicamente a través de Traefik SIN autenticación Authentik**
|
- **Expuesto públicamente a través de Traefik SIN autenticación Authentik**
|
||||||
- Accesible en el dominio configurado en `MCP_DOMAIN`
|
- Accesible en el dominio configurado en `MCP_DOMAIN`
|
||||||
- Incluye soporte para WebSocket y streaming
|
- Incluye soporte para operaciones de Docker mediante protocolo MCP
|
||||||
|
|
||||||
## Desarrollo Local
|
## Desarrollo Local
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user