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>
65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- DATABASE_URL=postgresql://dragons:stash@db:5432/dragonsstash
|
|
- AUTH_SECRET=change-me-to-a-random-secret-in-production
|
|
- AUTH_TRUST_HOST=true
|
|
- NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
- TELEGRAM_API_KEY=${TELEGRAM_API_KEY:-}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
worker:
|
|
build:
|
|
context: .
|
|
dockerfile: worker/Dockerfile
|
|
environment:
|
|
- DATABASE_URL=postgresql://dragons:stash@db:5432/dragonsstash
|
|
- WORKER_INTERVAL_MINUTES=60
|
|
- WORKER_TEMP_DIR=/tmp/zips
|
|
- TDLIB_STATE_DIR=/data/tdlib
|
|
- WORKER_MAX_ZIP_SIZE_MB=4096
|
|
- LOG_LEVEL=info
|
|
volumes:
|
|
- tdlib_state:/data/tdlib
|
|
- tmp_zips:/tmp/zips
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 1G
|
|
reservations:
|
|
memory: 256M
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_USER: dragons
|
|
POSTGRES_PASSWORD: stash
|
|
POSTGRES_DB: dragonsstash
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U dragons -d dragonsstash"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
postgres_data:
|
|
tdlib_state:
|
|
tmp_zips:
|