mirror of
https://github.com/xCyanGrizzly/DragonsStash.git
synced 2026-05-11 06:11:15 +00:00
Adds full Telegram ZIP ingestion pipeline: TDLib worker service scans source channels for archive files, deduplicates by content hash, extracts metadata, uploads to archive channel, and indexes in Postgres. Forum supergroups are scanned per-topic with topic names used as creator. Filename-based creator extraction (e.g. "Mammoth Factory - 2026-01.zip") serves as fallback. Includes admin UI for managing accounts/channels, simplified account setup (API credentials via env vars), auth code/password submission dialog, package browser with creator column, and live ingestion activity tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1011 B
YAML
42 lines
1011 B
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_USER: dragons
|
|
POSTGRES_PASSWORD: stash
|
|
POSTGRES_DB: dragonsstash
|
|
volumes:
|
|
- postgres_dev_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U dragons -d dragonsstash"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
worker:
|
|
build:
|
|
context: .
|
|
dockerfile: worker/Dockerfile
|
|
environment:
|
|
- DATABASE_URL=postgresql://dragons:stash@db:5432/dragonsstash
|
|
- WORKER_INTERVAL_MINUTES=5
|
|
- WORKER_TEMP_DIR=/tmp/zips
|
|
- TDLIB_STATE_DIR=/data/tdlib
|
|
- WORKER_MAX_ZIP_SIZE_MB=4096
|
|
- LOG_LEVEL=debug
|
|
- TELEGRAM_API_ID=${TELEGRAM_API_ID}
|
|
- TELEGRAM_API_HASH=${TELEGRAM_API_HASH}
|
|
volumes:
|
|
- tdlib_dev_state:/data/tdlib
|
|
- tmp_dev_zips:/tmp/zips
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
postgres_dev_data:
|
|
tdlib_dev_state:
|
|
tmp_dev_zips:
|