- NEXTCLOUD.md: Configuration for all 3 instances (ARCHITECT, DECK, HST) - SYNC_ATC_R2.md: Architecture for R2 → Windmill → Nextcloud sync system Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
76 lines
2.5 KiB
Markdown
76 lines
2.5 KiB
Markdown
# Sincronización ATC ↔ R2 ↔ Nextcloud
|
|
|
|
## Objetivo
|
|
|
|
Sincronizar archivos seleccionados desde buckets R2 hacia Nextcloud DECK, permitiendo descarga selectiva en dispositivos locales (Mac).
|
|
|
|
## Arquitectura
|
|
|
|
```
|
|
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌─────────┐
|
|
│ R2/S3 │ │ Windmill │ │ Nextcloud │ │ Mac │
|
|
│ deck/ │────▶│ flow.tzzr │────▶│ /nextc_ │────▶│ Local │
|
|
│ personaldeck│ │ deck.me │ │ deck/sync │ │ Sync │
|
|
└─────────────┘ └──────────────┘ └─────────────┘ └─────────┘
|
|
│
|
|
▼
|
|
┌──────────────┐
|
|
│ PostgreSQL │
|
|
│ atc_status │
|
|
└──────────────┘
|
|
```
|
|
|
|
## Tablas PostgreSQL
|
|
|
|
### tzzr_storage.buckets
|
|
Configuración de buckets R2.
|
|
|
|
| bucket_mrf | name | endpoint |
|
|
|------------|------|----------|
|
|
| d83032... | deck | R2 Cloudflare |
|
|
| c1b0e6... | personaldeck | R2 Cloudflare |
|
|
|
|
### tzzr_storage.atc
|
|
Catálogo de archivos con metadata.
|
|
|
|
| Campo | Descripción |
|
|
|-------|-------------|
|
|
| mrf | Hash único del archivo |
|
|
| private_mrf | Hash privado |
|
|
| bucket_mrf | FK a buckets |
|
|
| roothash | Ruta/estructura del archivo (pendiente) |
|
|
| ref | Tipo: img, doc, cad, etc. |
|
|
|
|
### tzzr_storage.atc_status
|
|
Lista blanca de archivos a sincronizar.
|
|
|
|
| Campo | Descripción |
|
|
|-------|-------------|
|
|
| mrf | FK a atc |
|
|
| status | enable / disable / deleted |
|
|
| bucket_mrf | FK a buckets |
|
|
|
|
## Flujo de Sincronización
|
|
|
|
1. Usuario marca archivo en `atc_status` con `status='enable'`
|
|
2. Windmill detecta cambio (trigger/schedule)
|
|
3. Script consulta archivos con `status='enable'`
|
|
4. Para cada archivo:
|
|
- Obtiene ruta de `roothash`
|
|
- Descarga de R2 a `/nextc_deck/sync/{ruta}/`
|
|
5. Nextcloud detecta archivos nuevos
|
|
6. Mac sincroniza via app Nextcloud
|
|
|
|
## Windmill
|
|
|
|
- URL: `flow.tzzrdeck.me`
|
|
- Puerto interno: 8100
|
|
- Propósito: Orquestación de workflows
|
|
|
|
## Pendiente
|
|
|
|
- [ ] Definir formato de `roothash`
|
|
- [ ] Crear workflow en Windmill
|
|
- [ ] Configurar trigger (webhook vs schedule)
|
|
- [ ] Implementar script de sync
|