Files
server_cloud_ladkau_de/ansible/roles/ollama/templates/docker-compose.yml.j2
T
ml 974486bc53 Replace Clay with n8n, Ollama, SearXNG and browserless; add Telegram assistant
Remove the Clay role (Claude Code web UI) and its Anthropic API key.

New roles:
- ollama: local CPU LLM (qwen3:4b-instruct), internal network only
- browserless: headless Chromium for JavaScript-heavy pages
- searxng: metasearch backend for the chat web_search tool
- n8n at agent.ladkau.de: web chat (/chat), scheduled workflows,
  Telegram bot; workflows and credentials are imported from the repo

Telegram bot: Gemini 3.8 -> Gemini 3.5 -> local Qwen fallback chain,
/qwen to force the local model, /stocks and a weekday schedule
(07:30, 13:00, 17:40) for the MTE.DE / PTX.F stock report.

Also: dashboard and check-services entries for the chat, vault checks
for the new secrets (n8n, SearXNG, Gemini, Telegram, SMTP), updated
CLAUDE.md, runbooks and README.
2026-10-03 17:10:33 +02:00

27 lines
938 B
Django/Jinja

# Managed by Ansible — do not edit manually
services:
ollama:
image: ollama/ollama:{{ ollama_version }}
container_name: ollama
restart: unless-stopped
environment:
OLLAMA_CONTEXT_LENGTH: "{{ ollama_context_length }}"
OLLAMA_FLASH_ATTENTION: "1"
OLLAMA_KV_CACHE_TYPE: "q8_0"
# One model, one request at a time — keeps RAM use predictable on the shared VPS
OLLAMA_MAX_LOADED_MODELS: "1"
OLLAMA_NUM_PARALLEL: "1"
# Unload the model after this idle time to free RAM for the other services
OLLAMA_KEEP_ALIVE: "{{ ollama_keep_alive }}"
volumes:
- {{ ollama_data_dir }}/models:/root/.ollama
mem_limit: {{ ollama_mem_limit }}
networks:
- ollama_internal
# Not exposed via Traefik. Containers that need the API join this network
# (declared as external there) and reach it at http://ollama:11434.
networks:
ollama_internal:
name: ollama_internal