docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
redis:
image: redis/redis-stack:latest
container_name: cartero-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis-data:/data
networks:
- cartero-network
postgres:
image: pgvector/pgvector:pg17
container_name: cartero-postgres
restart: unless-stopped
environment:
POSTGRES_USER: cartero
POSTGRES_PASSWORD: cartero
POSTGRES_DB: cartero
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U cartero"]
interval: 5s
timeout: 5s
retries: 5
networks:
- cartero-network
cartero:
image: ghcr.io/dracarys18/cartero:latest
container_name: cartero
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- ./config.toml:/app/config.toml:ro
- ./templates:/app/templates:ro
- cartero-data:/app/data
environment:
- TZ=UTC
- OLLAMA_HOST=http://host.docker.internal:11434
- CARTERO_QUEUE_PREFIX=cartero
- TYPESAFE_API_KEY=${TYPESAFE_API_KEY}
extra_hosts:
- "host.docker.internal:host-gateway"
dns:
- 1.1.1.1
- 8.8.8.8
dns_opt:
- timeout:2
- attempts:3
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
ports:
- "8034:8080"
command: ["-config", "/app/config.toml"]
networks:
- cartero-network
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflare-tunnel
restart: unless-stopped
command: tunnel --no-autoupdate run
environment:
- TUNNEL_TOKEN=${TUNNEL_TOKEN}
networks:
- cartero-network
profiles:
- tunnel
reader:
image: ghcr.io/jina-ai/reader:latest
container_name: cartero-reader
restart: unless-stopped
mem_limit: 4g
memswap_limit: 4g
shm_size: "1gb"
cpus: 2
security_opt: ["seccomp=unconfined"]
dns:
- 1.1.1.1
- 8.8.8.8
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
networks:
- cartero-network
profiles:
- reader
networks:
cartero-network:
driver: bridge
volumes:
cartero-data:
driver: local
redis-data:
driver: local
postgres-data:
driver: local