最后活跃于 3 days ago

Script del Episodio 827 - atareao con Linux

atareao's Avatar atareao 修订了这个 Gist 3 days ago. 转到此修订

1 file changed, 105 insertions

docker-compose.yml(文件已创建)

@@ -0,0 +1,105 @@
1 + # =============================================================================
2 + # docker-compose.yml — Laboratorio IA Local
3 + # =============================================================================
4 + #
5 + # Uso:
6 + # docker compose up -d # Levantar todos los servicios
7 + # docker compose down # Detener todos los servicios
8 + # docker compose logs -f # Ver logs en tiempo real
9 + #
10 + # Servicios:
11 + # - ollama: Gestor de modelos de lenguaje (API en :11434)
12 + # - open-webui: Interfaz gráfica web (web en :3000)
13 + #
14 + # Requisitos:
15 + # - Docker Engine 24+ o Podman 4+
16 + # - Docker Compose v2+
17 + #
18 + # Notas:
19 + # - Los modelos descargados se guardan en ./ollama/models (persistente)
20 + # - Los datos de Open WebUI se guardan en ./open-webui/data (persistente)
21 + # - Si tienes GPU NVIDIA, descomenta la sección 'deploy' en ollama
22 + # - Las redes están separadas para aislamiento entre servicios
23 + #
24 + # =============================================================================
25 +
26 + services:
27 + # ---------------------------------------------------------------------------
28 + # Ollama — Gestor de modelos de lenguaje
29 + # ---------------------------------------------------------------------------
30 + ollama:
31 + image: ollama/ollama:latest
32 + container_name: ollama-server
33 + hostname: ollama
34 + volumes:
35 + # Persistencia de modelos descargados
36 + - ./ollama/models:/root/.ollama
37 + ports:
38 + # API REST de Ollama
39 + - "11434:11434"
40 + environment:
41 + # Mantener el modelo en memoria para respuestas más rápidas
42 + - OLLAMA_KEEP_ALIVE=5m
43 + # Número máximo de modelos cargados simultáneamente
44 + - OLLAMA_NUM_PARALLEL=1
45 + # Límite de contexto (ventana de tokens)
46 + - OLLAMA_CONTEXT_LENGTH=8192
47 + # Descomenta estas líneas si tienes GPU NVIDIA:
48 + # deploy:
49 + # resources:
50 + # reservations:
51 + # devices:
52 + # - driver: nvidia
53 + # count: all
54 + # capabilities: [gpu]
55 + restart: unless-stopped
56 + healthcheck:
57 + test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"]
58 + interval: 30s
59 + timeout: 10s
60 + retries: 3
61 + start_period: 40s
62 + networks:
63 + - ia-local-net
64 +
65 + # ---------------------------------------------------------------------------
66 + # Open WebUI — Interfaz gráfica para chatear con modelos
67 + # ---------------------------------------------------------------------------
68 + open-webui:
69 + image: ghcr.io/open-webui/open-webui:main
70 + container_name: open-webui
71 + depends_on:
72 + ollama:
73 + condition: service_healthy
74 + volumes:
75 + # Persistencia de conversaciones, configuraciones, archivos subidos
76 + - ./open-webui/data:/app/backend/data
77 + ports:
78 + # Interfaz web
79 + - "3000:8080"
80 + environment:
81 + # URL del servicio Ollama (nombre del contenedor, no localhost)
82 + - OLLAMA_BASE_URL=http://ollama:11434
83 + # Tiempo máximo de espera para respuestas largas
84 + - WEBUI_TIMEOUT=300
85 + # Descomenta para requerir autenticación:
86 + # - WEBUI_AUTH=true
87 + # Descomenta para usar GPU NVIDIA en Open WebUI:
88 + # - USE_CUDA=true
89 + restart: unless-stopped
90 + healthcheck:
91 + test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
92 + interval: 30s
93 + timeout: 10s
94 + retries: 3
95 + start_period: 60s
96 + networks:
97 + - ia-local-net
98 +
99 + # ---------------------------------------------------------------------------
100 + # Redes
101 + # ---------------------------------------------------------------------------
102 + networks:
103 + ia-local-net:
104 + name: ia-local-network
105 + driver: bridge
上一页 下一页