Files
docker-stacks/stacks/tlc/docker-compose.yml
knight 194ed3b87f
Some checks failed
Deploy Stacks / deploy-prod (push) Has been skipped
Deploy Stacks / deploy-dev (push) Has been cancelled
Add TLC Search app to stack
Complete TLC stack now includes:
- rss-bridge: YouTube to RSS converter
- feed-master: RSS feed aggregator
- search: TLC Search Flask app (port 8088)

Requires Elasticsearch and Qdrant backends configured in .env

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 15:22:09 -05:00

75 lines
1.7 KiB
YAML

services:
# RSS Bridge - Converts YouTube channels to RSS feeds
rss-bridge:
image: rssbridge/rss-bridge:latest
container_name: tlc-rss-bridge
hostname: rss-bridge
restart: unless-stopped
labels:
- "com.ghost.tel/stack-type=dev-only"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
ports:
- "3001:80"
networks:
- web
# Feed Master - Aggregates multiple RSS feeds into unified feed
feed-master:
image: umputun/feed-master:latest
container_name: tlc-feed-master
hostname: feed-master
restart: unless-stopped
depends_on:
- rss-bridge
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
environment:
- DEBUG=false
- FM_DB=/srv/var/feed-master.bdb
- FM_CONF=/srv/etc/fm.yml
volumes:
- ./feed-master-config:/srv/etc
- ./feed-master-data:/srv/var
- ./feed-master-images:/srv/images
ports:
- "8097:8080"
networks:
- web
# TLC Search - Flask app for searching YouTube transcripts
search:
image: gitea.ghost.tel/knight/tlc-search:latest
container_name: tlc-search
hostname: tlc-search
restart: unless-stopped
depends_on:
- feed-master
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
env_file:
- .env
environment:
- RSS_FEED_URL=/rss/youtube-unified
- RSS_FEED_UPSTREAM=http://feed-master:8080
volumes:
- ./channels.yml:/app/python_app/channels.yml:ro
- ./data:/app/data:ro
ports:
- "8088:8080"
networks:
- web
networks:
web:
external: true