From b1572c029ed7df4ad6b561ec702477e13167cd43 Mon Sep 17 00:00:00 2001 From: Valmo Date: Tue, 30 Jun 2026 01:49:11 -0300 Subject: [PATCH] =?UTF-8?q?sei=20l=C3=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +++- docker-compose.redis-rtsp.yml | 7 +++---- docker-compose.redis-rtsp_pro_max.yml | 2 +- src/config.rs | 4 ++-- src/redis_rtsp.rs | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index fd35758..b5eac81 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ O `docker-compose.yml` já sobe: Para o fluxo RTSP com Redis, use `docker-compose.redis-rtsp.yml`: - `redis` como fila. Ele publica a porta `6379`, então workers externos podem apontar `REDIS_URL` para esse host. -- `coordinator` para ler `camfinder-open-rtsp.csv` e alimentar a fila com blocos de IPs. O CSV também é copiado para a imagem, então o deploy não depende só de bind mount. +- `coordinator` para ler `camfinder-open-rtsp.csv` e alimentar a fila com blocos de IPs. No modo simples/local, monte o repositório inteiro em `/app`. - `worker-1` e `worker-2` para consumir blocos, testar paths RTSP e salvar screenshots e SQLite. Para escalar workers: @@ -38,6 +38,8 @@ Para escalar workers: Para um worker em outra máquina, aponte `REDIS_URL` para o Redis do coordenador, por exemplo `redis://:6379/0`, e use o mesmo `RTSP_QUEUE_NAME`. +Se estiver usando o compose local, monte `./:/app` para coordinator e workers RTSP. O coordinator lê `camfinder-open-rtsp.csv` e `rtsp_paths.txt` da raiz do repo. + Para workers de outras máquinas, use `vps.valmo.dev:666` como endereço do coordenador. ## Scripts diff --git a/docker-compose.redis-rtsp.yml b/docker-compose.redis-rtsp.yml index 8fdb529..bdeca60 100644 --- a/docker-compose.redis-rtsp.yml +++ b/docker-compose.redis-rtsp.yml @@ -18,8 +18,7 @@ services: depends_on: - redis volumes: - - ./camfinder-open-rtsp.csv:/app/camfinder-open-rtsp.csv:ro - - ./dump:/app/dump + - ./:/app worker-1: build: . @@ -34,7 +33,7 @@ services: - redis - coordinator volumes: - - ./dump:/app/dump + - ./:/app worker-2: build: . @@ -49,7 +48,7 @@ services: - redis - coordinator volumes: - - ./dump:/app/dump + - ./:/app volumes: camfinder-redis: diff --git a/docker-compose.redis-rtsp_pro_max.yml b/docker-compose.redis-rtsp_pro_max.yml index f1c12c0..8223524 100644 --- a/docker-compose.redis-rtsp_pro_max.yml +++ b/docker-compose.redis-rtsp_pro_max.yml @@ -13,7 +13,7 @@ services: environment: REDIS_URL: redis://redis:6379/0 RTSP_QUEUE_NAME: camfinder:rtsp:queue - RTSP_INPUT_CSV: /app/camfinder-open-rtsp.csv + RTSP_INPUT_CSV: /usr/local/share/camfinder/camfinder-open-rtsp.csv RTSP_WORKER_COUNT: 2 depends_on: - redis diff --git a/src/config.rs b/src/config.rs index 9c739d6..5fb7c67 100644 --- a/src/config.rs +++ b/src/config.rs @@ -61,7 +61,7 @@ impl Config { .unwrap_or_else(|| read_env("RTSP_QUEUE_NAME", "camfinder:rtsp:queue")), redis_input_csv: cli .redis_input_csv - .unwrap_or_else(|| read_env("RTSP_INPUT_CSV", "camfinder-open-rtsp.csv")), + .unwrap_or_else(|| read_env("RTSP_INPUT_CSV", "/app/camfinder-open-rtsp.csv")), redis_worker_count: cli .redis_worker_count .or_else(|| parse_usize("RTSP_WORKER_COUNT", 2).ok()) @@ -463,7 +463,7 @@ fn load_rtsp_paths(file: Option<&Path>, inline: Option<&str>) -> Result Result> { diff --git a/src/redis_rtsp.rs b/src/redis_rtsp.rs index 5f675f5..7fb1103 100644 --- a/src/redis_rtsp.rs +++ b/src/redis_rtsp.rs @@ -79,7 +79,7 @@ pub async fn run_redis_worker( let mut processed = 0usize; let mut captured = 0usize; let paths = normalize_paths(&config.rtsp_paths); - let credentials = load_rtsp_credentials(Path::new("main_ids.json"))?; + let credentials = load_rtsp_credentials(Path::new("/app/main_ids.json"))?; println!( "worker pronto para {} paths, {} credenciais e fila {}",