feat: add tatlock stack for homelab butler API
- OpenAI-compatible API server with LLM agent orchestration - Port 8000, connects to docker-dataplane network - Integrates with ollama, searxng, redis-shared services - Watchtower auto-update enabled 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
version: '3.8'
|
||||
|
||||
# Tatlock - The Homelab Butler
|
||||
# Purpose: OpenAI-compatible API server with LLM agent orchestration
|
||||
# Port: 8000 (API)
|
||||
# Network: docker-dataplane
|
||||
# Image: git.schweitz.net/jpmschweitzer/tatlock (private registry)
|
||||
|
||||
services:
|
||||
tatlock:
|
||||
image: git.schweitz.net/jpmschweitzer/tatlock:latest
|
||||
container_name: tatlock
|
||||
restart: unless-stopped
|
||||
|
||||
ports:
|
||||
- "8000:8000"
|
||||
|
||||
environment:
|
||||
- ENVIRONMENT=production
|
||||
- LOG_LEVEL=INFO
|
||||
- API_HOST=0.0.0.0
|
||||
- API_PORT=8000
|
||||
# Ollama (shared service)
|
||||
- OLLAMA_HOST=http://ollama:11434
|
||||
- OLLAMA_DEFAULT_MODEL=mistral-nemo:latest
|
||||
- OLLAMA_TIMEOUT=120
|
||||
# SearXNG (optional, shared service)
|
||||
- SEARXNG_HOST=http://searxng:8080
|
||||
- SEARXNG_TIMEOUT=30
|
||||
# Redis (optional, shared service)
|
||||
- REDIS_HOST=redis-shared
|
||||
- REDIS_PORT=6379
|
||||
- REDIS_DB=6
|
||||
- REDIS_TIMEOUT=5
|
||||
# Features
|
||||
- ENABLE_BENCHMARKS=true
|
||||
- CORS_ORIGINS=*
|
||||
- PYTHONPATH=/app
|
||||
|
||||
volumes:
|
||||
- /home/jpmschweitzer/docker-data/tatlock/logs:/app/logs
|
||||
|
||||
networks:
|
||||
- docker-dataplane
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 1G
|
||||
reservations:
|
||||
memory: 256M
|
||||
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
networks:
|
||||
docker-dataplane:
|
||||
external: true
|
||||
name: docker-dataplane
|
||||
Reference in New Issue
Block a user