Add Nextcloud and ATC sync documentation
- 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>
This commit is contained in:
75
05_INTEGRACIONES/SYNC_ATC_R2.md
Normal file
75
05_INTEGRACIONES/SYNC_ATC_R2.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user