ci: add complete CI/CD pipeline for Docker images
Some checks failed
Build and Push Docker Images / build-and-push (./archon-ui-main, ./archon-ui-main/Dockerfile, frontend) (push) Failing after 1m45s
Build and Push Docker Images / build-and-push (./python, ./python/Dockerfile.agents, agents) (push) Failing after 6s
Build and Push Docker Images / build-and-push (./python, ./python/Dockerfile.mcp, mcp) (push) Failing after 7s
Build and Push Docker Images / build-and-push (./python, ./python/Dockerfile.server, server) (push) Failing after 6s
Build and Push Docker Images / summary (push) Has been skipped
Test Build / build (push) Failing after 3s
Some checks failed
Build and Push Docker Images / build-and-push (./archon-ui-main, ./archon-ui-main/Dockerfile, frontend) (push) Failing after 1m45s
Build and Push Docker Images / build-and-push (./python, ./python/Dockerfile.agents, agents) (push) Failing after 6s
Build and Push Docker Images / build-and-push (./python, ./python/Dockerfile.mcp, mcp) (push) Failing after 7s
Build and Push Docker Images / build-and-push (./python, ./python/Dockerfile.server, server) (push) Failing after 6s
Build and Push Docker Images / summary (push) Has been skipped
Test Build / build (push) Failing after 3s
- Add build-push-images.yml workflow for automated builds - Build and push all 4 images (server, mcp, frontend, agents) - Support versioning: latest, semver, commit SHA - Add docker-compose.registry.yml for registry images - Add REGISTRY.md documentation for DevOps team Images will be pushed to: - git.automatizase.com.br/luis.erlacher/archon/server - git.automatizase.com.br/luis.erlacher/archon/mcp - git.automatizase.com.br/luis.erlacher/archon/frontend - git.automatizase.com.br/luis.erlacher/archon/agents 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
ccd2dca77a
commit
bb0cd077ab
123
.gitea/workflows/build-push-images.yml
Normal file
123
.gitea/workflows/build-push-images.yml
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
name: Build and Push Docker Images
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: git.automatizase.com.br
|
||||||
|
REGISTRY_PATH: luis.erlacher/archon
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
runs-on: wsl
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: server
|
||||||
|
context: ./python
|
||||||
|
dockerfile: ./python/Dockerfile.server
|
||||||
|
- name: mcp
|
||||||
|
context: ./python
|
||||||
|
dockerfile: ./python/Dockerfile.mcp
|
||||||
|
- name: frontend
|
||||||
|
context: ./archon-ui-main
|
||||||
|
dockerfile: ./archon-ui-main/Dockerfile
|
||||||
|
- name: agents
|
||||||
|
context: ./python
|
||||||
|
dockerfile: ./python/Dockerfile.agents
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Log in to Gitea Container Registry
|
||||||
|
run: |
|
||||||
|
echo "${{ secrets.GITEA_TOKEN }}" | docker login ${{ env.REGISTRY }} -u ${{ secrets.GITEA_USERNAME }} --password-stdin
|
||||||
|
|
||||||
|
- name: Extract version metadata
|
||||||
|
id: meta
|
||||||
|
run: |
|
||||||
|
# Se for uma tag, usa a tag como versão
|
||||||
|
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
|
||||||
|
VERSION=${GITHUB_REF#refs/tags/}
|
||||||
|
else
|
||||||
|
# Senão, gera versão baseada no número do run
|
||||||
|
VERSION="v1.0.${{ github.run_number }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMMIT_SHA="${{ github.sha }}"
|
||||||
|
SHORT_SHA=${COMMIT_SHA:0:7}
|
||||||
|
|
||||||
|
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Build and push ${{ matrix.name }} image
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: ${{ matrix.context }}
|
||||||
|
file: ${{ matrix.dockerfile }}
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/${{ matrix.name }}:latest
|
||||||
|
${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/${{ matrix.name }}:${{ steps.meta.outputs.version }}
|
||||||
|
${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/${{ matrix.name }}:${{ steps.meta.outputs.short_sha }}
|
||||||
|
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/${{ matrix.name }}:buildcache
|
||||||
|
cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/${{ matrix.name }}:buildcache,mode=max
|
||||||
|
|
||||||
|
summary:
|
||||||
|
needs: build-and-push
|
||||||
|
runs-on: wsl
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Extract version metadata
|
||||||
|
id: meta
|
||||||
|
run: |
|
||||||
|
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
|
||||||
|
VERSION=${GITHUB_REF#refs/tags/}
|
||||||
|
else
|
||||||
|
VERSION="v1.0.${{ github.run_number }}"
|
||||||
|
fi
|
||||||
|
COMMIT_SHA="${{ github.sha }}"
|
||||||
|
SHORT_SHA=${COMMIT_SHA:0:7}
|
||||||
|
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Build Summary
|
||||||
|
run: |
|
||||||
|
echo "### 🚀 Docker Images Build & Push Summary" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "**Version:** \`${{ steps.meta.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "**Commit:** \`${{ steps.meta.outputs.short_sha }}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "**Registry:** \`${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "#### 📦 Images Pushed:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Service | Image | Tags |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "|---------|-------|------|" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Server | \`${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/server\` | \`latest\`, \`${{ steps.meta.outputs.version }}\`, \`${{ steps.meta.outputs.short_sha }}\` |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| MCP | \`${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/mcp\` | \`latest\`, \`${{ steps.meta.outputs.version }}\`, \`${{ steps.meta.outputs.short_sha }}\` |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Frontend | \`${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/frontend\` | \`latest\`, \`${{ steps.meta.outputs.version }}\`, \`${{ steps.meta.outputs.short_sha }}\` |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Agents | \`${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/agents\` | \`latest\`, \`${{ steps.meta.outputs.version }}\`, \`${{ steps.meta.outputs.short_sha }}\` |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "#### 🔧 Docker Compose Usage:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "\`\`\`yaml" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "services:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " archon-server:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " image: ${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/server:${{ steps.meta.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " archon-mcp:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " image: ${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/mcp:${{ steps.meta.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " archon-frontend:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " image: ${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/frontend:${{ steps.meta.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " archon-agents:" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo " image: ${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}/agents:${{ steps.meta.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
||||||
241
REGISTRY.md
Normal file
241
REGISTRY.md
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
# Usando Imagens do Registry Gitea
|
||||||
|
|
||||||
|
Este documento descreve como usar as imagens Docker do Archon a partir do registry privado do Gitea.
|
||||||
|
|
||||||
|
## Registry Information
|
||||||
|
|
||||||
|
**Registry URL:** `git.automatizase.com.br`
|
||||||
|
**Repository:** `luis.erlacher/archon`
|
||||||
|
|
||||||
|
## Imagens Disponíveis
|
||||||
|
|
||||||
|
Todas as imagens são buildadas automaticamente via Gitea Actions e publicadas com múltiplas tags:
|
||||||
|
|
||||||
|
| Serviço | Imagem | Descrição |
|
||||||
|
|---------|--------|-----------|
|
||||||
|
| **Server** | `git.automatizase.com.br/luis.erlacher/archon/server` | FastAPI + Crawling + Socket.IO |
|
||||||
|
| **MCP** | `git.automatizase.com.br/luis.erlacher/archon/mcp` | MCP Server para IDEs |
|
||||||
|
| **Frontend** | `git.automatizase.com.br/luis.erlacher/archon/frontend` | React UI |
|
||||||
|
| **Agents** | `git.automatizase.com.br/luis.erlacher/archon/agents` | AI Agents (opcional) |
|
||||||
|
|
||||||
|
## Tags Disponíveis
|
||||||
|
|
||||||
|
Cada imagem é publicada com 3 tags:
|
||||||
|
|
||||||
|
- **`latest`** - Última versão estável da branch main
|
||||||
|
- **`v1.0.X`** - Versão semântica (X = número do build)
|
||||||
|
- **`SHORT_SHA`** - Hash curto do commit (7 caracteres)
|
||||||
|
|
||||||
|
### Exemplos:
|
||||||
|
```bash
|
||||||
|
git.automatizase.com.br/luis.erlacher/archon/server:latest
|
||||||
|
git.automatizase.com.br/luis.erlacher/archon/server:v1.0.42
|
||||||
|
git.automatizase.com.br/luis.erlacher/archon/server:a3c2f1e
|
||||||
|
```
|
||||||
|
|
||||||
|
## Autenticação no Registry
|
||||||
|
|
||||||
|
### 1. Login com Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker login git.automatizase.com.br
|
||||||
|
# Username: luis.erlacher
|
||||||
|
# Password: [seu token de acesso]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Gerar Token de Acesso
|
||||||
|
|
||||||
|
1. Acesse: https://git.automatizase.com.br/user/settings/applications
|
||||||
|
2. Clique em "Generate New Token"
|
||||||
|
3. Selecione permissões: `read:package`, `write:package`
|
||||||
|
4. Use o token gerado como senha no docker login
|
||||||
|
|
||||||
|
## Uso em Docker Compose
|
||||||
|
|
||||||
|
### Opção 1: Usar arquivo fornecido
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Copiar arquivo .env de exemplo
|
||||||
|
cp .env.example .env
|
||||||
|
|
||||||
|
# Editar variáveis de ambiente necessárias
|
||||||
|
nano .env
|
||||||
|
|
||||||
|
# Subir com imagens do registry
|
||||||
|
docker compose -f docker-compose.registry.yml up -d
|
||||||
|
|
||||||
|
# Com agents (opcional)
|
||||||
|
docker compose -f docker-compose.registry.yml --profile agents up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Opção 2: Criar seu próprio compose
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
archon-server:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/server:v1.0.42
|
||||||
|
# ... configurações
|
||||||
|
|
||||||
|
archon-mcp:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/mcp:v1.0.42
|
||||||
|
# ... configurações
|
||||||
|
|
||||||
|
archon-frontend:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/frontend:v1.0.42
|
||||||
|
# ... configurações
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uso em Kubernetes
|
||||||
|
|
||||||
|
### 1. Criar Secret para Registry
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create secret docker-registry gitea-registry \
|
||||||
|
--docker-server=git.automatizase.com.br \
|
||||||
|
--docker-username=luis.erlacher \
|
||||||
|
--docker-password=<seu-token> \
|
||||||
|
--docker-email=lperlacher@gmail.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Usar em Deployment
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: archon-server
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: gitea-registry
|
||||||
|
containers:
|
||||||
|
- name: server
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/server:v1.0.42
|
||||||
|
ports:
|
||||||
|
- containerPort: 8181
|
||||||
|
```
|
||||||
|
|
||||||
|
## Versionamento
|
||||||
|
|
||||||
|
### Usando Tags Específicas (Recomendado para Produção)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
archon-server:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/server:v1.0.42
|
||||||
|
```
|
||||||
|
|
||||||
|
**Vantagens:**
|
||||||
|
- Builds reproduzíveis
|
||||||
|
- Rollback fácil
|
||||||
|
- Não quebra com atualizações
|
||||||
|
|
||||||
|
### Usando Latest (Desenvolvimento)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
archon-server:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/server:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**Vantagens:**
|
||||||
|
- Sempre atualizado
|
||||||
|
- Ideal para staging/dev
|
||||||
|
|
||||||
|
## CI/CD Pipeline
|
||||||
|
|
||||||
|
O workflow `.gitea/workflows/build-push-images.yml` é disparado:
|
||||||
|
|
||||||
|
1. **Em push para main** - Cria versão `v1.0.X` e `latest`
|
||||||
|
2. **Em tags git** - Usa a tag como versão (ex: `v2.0.0`)
|
||||||
|
3. **Manual** - Via workflow_dispatch no Gitea Actions
|
||||||
|
|
||||||
|
### Criar Release com Tag
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git tag -a v2.0.0 -m "Release version 2.0.0"
|
||||||
|
git push origin v2.0.0
|
||||||
|
```
|
||||||
|
|
||||||
|
Isso irá buildar e publicar todas as imagens com tag `v2.0.0`.
|
||||||
|
|
||||||
|
## Variáveis de Ambiente Necessárias
|
||||||
|
|
||||||
|
No Gitea Actions, configure os secrets:
|
||||||
|
|
||||||
|
- `GITEA_USERNAME` - Usuário do Gitea (luis.erlacher)
|
||||||
|
- `GITEA_TOKEN` - Token de acesso com permissões de package
|
||||||
|
|
||||||
|
### Configurar Secrets no Gitea
|
||||||
|
|
||||||
|
1. Acesse: https://git.automatizase.com.br/luis.erlacher/Archon/settings/secrets
|
||||||
|
2. Adicione:
|
||||||
|
- Name: `GITEA_USERNAME`, Value: `luis.erlacher`
|
||||||
|
- Name: `GITEA_TOKEN`, Value: `[seu token]`
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Erro de Autenticação
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Verificar login
|
||||||
|
docker logout git.automatizase.com.br
|
||||||
|
docker login git.automatizase.com.br
|
||||||
|
|
||||||
|
# Pull de teste
|
||||||
|
docker pull git.automatizase.com.br/luis.erlacher/archon/server:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ver Versões Disponíveis
|
||||||
|
|
||||||
|
Acesse: https://git.automatizase.com.br/luis.erlacher/-/packages
|
||||||
|
|
||||||
|
### Limpar Imagens Antigas Localmente
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker images | grep "git.automatizase.com.br" | awk '{print $3}' | xargs docker rmi
|
||||||
|
```
|
||||||
|
|
||||||
|
## Para DevOps/SRE
|
||||||
|
|
||||||
|
### Helm Chart (exemplo básico)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# values.yaml
|
||||||
|
image:
|
||||||
|
registry: git.automatizase.com.br
|
||||||
|
repository: luis.erlacher/archon
|
||||||
|
tag: v1.0.42
|
||||||
|
pullSecrets:
|
||||||
|
- gitea-registry
|
||||||
|
|
||||||
|
server:
|
||||||
|
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}/server:{{ .Values.image.tag }}"
|
||||||
|
|
||||||
|
mcp:
|
||||||
|
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}/mcp:{{ .Values.image.tag }}"
|
||||||
|
```
|
||||||
|
|
||||||
|
### ArgoCD Application
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: archon
|
||||||
|
spec:
|
||||||
|
source:
|
||||||
|
repoURL: https://git.automatizase.com.br/luis.erlacher/Archon.git
|
||||||
|
targetRevision: main
|
||||||
|
path: k8s/manifests
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: archon
|
||||||
|
```
|
||||||
|
|
||||||
|
## Suporte
|
||||||
|
|
||||||
|
Para issues ou dúvidas:
|
||||||
|
- Issues: https://git.automatizase.com.br/luis.erlacher/Archon/issues
|
||||||
|
- CI/CD Logs: https://git.automatizase.com.br/luis.erlacher/Archon/actions
|
||||||
97
docker-compose.registry.yml
Normal file
97
docker-compose.registry.yml
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# Docker Compose usando imagens do Registry Gitea
|
||||||
|
# Para usar este arquivo: docker compose -f docker-compose.registry.yml up -d
|
||||||
|
|
||||||
|
services:
|
||||||
|
# Server Service (FastAPI + Socket.IO + Crawling)
|
||||||
|
archon-server:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/server:latest
|
||||||
|
container_name: archon-server
|
||||||
|
ports:
|
||||||
|
- "${ARCHON_SERVER_PORT:-8181}:${ARCHON_SERVER_PORT:-8181}"
|
||||||
|
environment:
|
||||||
|
- SUPABASE_URL=${SUPABASE_URL}
|
||||||
|
- SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY}
|
||||||
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
||||||
|
- LOGFIRE_TOKEN=${LOGFIRE_TOKEN:-}
|
||||||
|
- SERVICE_DISCOVERY_MODE=docker_compose
|
||||||
|
- LOG_LEVEL=${LOG_LEVEL:-INFO}
|
||||||
|
- ARCHON_SERVER_PORT=${ARCHON_SERVER_PORT:-8181}
|
||||||
|
- ARCHON_MCP_PORT=${ARCHON_MCP_PORT:-8051}
|
||||||
|
- ARCHON_AGENTS_PORT=${ARCHON_AGENTS_PORT:-8052}
|
||||||
|
- AGENTS_ENABLED=${AGENTS_ENABLED:-false}
|
||||||
|
- ARCHON_HOST=${HOST:-localhost}
|
||||||
|
networks:
|
||||||
|
- app-network
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# Lightweight MCP Server Service (HTTP-based)
|
||||||
|
archon-mcp:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/mcp:latest
|
||||||
|
container_name: archon-mcp
|
||||||
|
ports:
|
||||||
|
- "${ARCHON_MCP_PORT:-8051}:${ARCHON_MCP_PORT:-8051}"
|
||||||
|
environment:
|
||||||
|
- SUPABASE_URL=${SUPABASE_URL}
|
||||||
|
- SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY}
|
||||||
|
- LOGFIRE_TOKEN=${LOGFIRE_TOKEN:-}
|
||||||
|
- SERVICE_DISCOVERY_MODE=docker_compose
|
||||||
|
- TRANSPORT=sse
|
||||||
|
- LOG_LEVEL=${LOG_LEVEL:-INFO}
|
||||||
|
- API_SERVICE_URL=http://archon-server:${ARCHON_SERVER_PORT:-8181}
|
||||||
|
- AGENTS_ENABLED=${AGENTS_ENABLED:-false}
|
||||||
|
- AGENTS_SERVICE_URL=${AGENTS_SERVICE_URL:-http://archon-agents:${ARCHON_AGENTS_PORT:-8052}}
|
||||||
|
- ARCHON_MCP_PORT=${ARCHON_MCP_PORT:-8051}
|
||||||
|
- ARCHON_SERVER_PORT=${ARCHON_SERVER_PORT:-8181}
|
||||||
|
- ARCHON_AGENTS_PORT=${ARCHON_AGENTS_PORT:-8052}
|
||||||
|
networks:
|
||||||
|
- app-network
|
||||||
|
depends_on:
|
||||||
|
- archon-server
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
|
# AI Agents Service (ML/Reranking) - Opcional
|
||||||
|
archon-agents:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/agents:latest
|
||||||
|
profiles:
|
||||||
|
- agents
|
||||||
|
container_name: archon-agents
|
||||||
|
ports:
|
||||||
|
- "${ARCHON_AGENTS_PORT:-8052}:${ARCHON_AGENTS_PORT:-8052}"
|
||||||
|
environment:
|
||||||
|
- SUPABASE_URL=${SUPABASE_URL}
|
||||||
|
- SUPABASE_SERVICE_KEY=${SUPABASE_SERVICE_KEY}
|
||||||
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
||||||
|
- LOGFIRE_TOKEN=${LOGFIRE_TOKEN:-}
|
||||||
|
- SERVICE_DISCOVERY_MODE=docker_compose
|
||||||
|
- LOG_LEVEL=${LOG_LEVEL:-INFO}
|
||||||
|
- ARCHON_AGENTS_PORT=${ARCHON_AGENTS_PORT:-8052}
|
||||||
|
- ARCHON_SERVER_PORT=${ARCHON_SERVER_PORT:-8181}
|
||||||
|
networks:
|
||||||
|
- app-network
|
||||||
|
|
||||||
|
# Frontend
|
||||||
|
archon-frontend:
|
||||||
|
image: git.automatizase.com.br/luis.erlacher/archon/frontend:latest
|
||||||
|
container_name: archon-ui
|
||||||
|
ports:
|
||||||
|
- "${ARCHON_UI_PORT:-3737}:3737"
|
||||||
|
environment:
|
||||||
|
- VITE_ARCHON_SERVER_PORT=${ARCHON_SERVER_PORT:-8181}
|
||||||
|
- ARCHON_SERVER_PORT=${ARCHON_SERVER_PORT:-8181}
|
||||||
|
- HOST=${HOST:-localhost}
|
||||||
|
- PROD=${PROD:-false}
|
||||||
|
- VITE_ALLOWED_HOSTS=${VITE_ALLOWED_HOSTS:-}
|
||||||
|
- VITE_SHOW_DEVTOOLS=${VITE_SHOW_DEVTOOLS:-false}
|
||||||
|
- DOCKER_ENV=true
|
||||||
|
networks:
|
||||||
|
- app-network
|
||||||
|
depends_on:
|
||||||
|
- archon-server
|
||||||
|
|
||||||
|
networks:
|
||||||
|
app-network:
|
||||||
|
driver: bridge
|
||||||
Loading…
Reference in New Issue
Block a user