Guía de Contenedores Docker & Self-Hosted

Crea y Despliega tus Contenedores de Fladya

Al igual que herramientas de ingeniería como Jenkins o Plane, Fladya se distribuye mediante imágenes Docker oficiales listas para ejecutar en tu servidor, estación de trabajo o clúster privado.

Imagen Server: ghcr.io/fladya/platform:latest
Imagen Runner: ghcr.io/fladya/runner:latest
Modalidad 1: Inicio Rápido con 1 Contenedor

docker run (Servidor Standalone)

Levanta la interfaz web y la API en un solo contenedor con base de datos embebida y volumen persistente.

# 1. Crear volumen persistente para la base de datos y memoria de producto
docker volume create fladya_data

# 2. Descargar y ejecutar el contenedor All-in-One oficial de Fladya
docker run -d \
  --name fladya-server \
  -p 3000:3000 \
  -p 4000:4000 \
  -v fladya_data:/data \
  -e AI_PROVIDER=gemini \
  -e GEMINI_API_KEY="tu_clave_api_aqui" \
  --restart unless-stopped \
  ghcr.io/fladya/platform:latest

# 3. Verificar estado del contenedor
docker ps --filter "name=fladya-server"
Modalidad 2: Runner Worker para Redes Privadas

Contenedor de Ejecución de Pruebas (Runner)

Despliega runners que ejecutan navegadores Playwright y analizan repositorios Git locales dentro de tu VPC sin exponer puertos al exterior.

# Ejecutar un Contenedor Runner Worker aislado dentro de tu red interna (Playwright / Git)
docker run -d \
  --name fladya-runner-internal \
  -e API_GATEWAY_URL="http://tu-servidor-fladya:4000" \
  -e RUNNER_SECRET="token_secreto_generado" \
  -e RUNNER_CAPABILITIES="tests.execute,browser.execute,git.read" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --restart unless-stopped \
  ghcr.io/fladya/runner:latest
Modalidad 3: Despliegue Multi-Contenedor para Producción

docker-compose.yml (PostgreSQL + pgvector)

Arquitectura distribuida con microservicios independientes para Web, API Gateway, base de datos vectorial y worker.

# Fladya Platform — Stack Completo de Producción con Postgres (pgvector) y Runner
version: '3.8'

services:
  fladya-web:
    image: ghcr.io/fladya/web:latest
    container_name: fladya-web
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - NEXT_PUBLIC_API_URL=http://localhost:4000
    depends_on:
      fladya-api:
        condition: service_healthy

  fladya-api:
    image: ghcr.io/fladya/api:latest
    container_name: fladya-api
    restart: unless-stopped
    ports:
      - "4000:4000"
    environment:
      - NODE_ENV=production
      - PORT=4000
      - DATABASE_URL=postgresql://fladya:fladya_secret@fladya-db:5432/fladya_graph
      - AI_PROVIDER=gemini
      - GEMINI_API_KEY=${GEMINI_API_KEY}
      - RUNNER_SECRET=${RUNNER_SECRET:-secret_token_123}
    healthcheck:
      test: ["CMD", "wget", "--spider", "-q", "http://localhost:4000/health"]
      interval: 10s
      timeout: 5s
      retries: 5
    depends_on:
      fladya-db:
        condition: service_healthy

  fladya-runner:
    image: ghcr.io/fladya/runner:latest
    container_name: fladya-runner
    restart: unless-stopped
    environment:
      - API_GATEWAY_URL=http://fladya-api:4000
      - RUNNER_SECRET=${RUNNER_SECRET:-secret_token_123}
      - RUNNER_CAPABILITIES=tests.execute,browser.execute,git.read
    depends_on:
      - fladya-api

  fladya-db:
    image: pgvector/pgvector:pg16
    container_name: fladya-db
    restart: unless-stopped
    environment:
      - POSTGRES_DB=fladya_graph
      - POSTGRES_USER=fladya
      - POSTGRES_PASSWORD=fladya_secret
    volumes:
      - fladya_pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U fladya -d fladya_graph"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  fladya_pgdata:
    driver: local

¿Ya tienes Jenkins o Plane corriendo en Docker?

Puedes conectar Fladya a tu contenedor de Jenkins o Plane existente añadiéndolos a la misma red bridge de Docker (docker network connect enterprise-net fladya-server). La plataforma descubrirá automáticamente los webhooks y ejecutará análisis continuos.