Seafile CE + ONLYOFFICE: sync veloce e editing collaborativo a costo zero

Condividi
Seafile CE + ONLYOFFICE: sync veloce e editing collaborativo a costo zero

Cos'è

Seafile Community Edition (AGPLv3, v13.0) è un server self-hosted di sincronizzazione, condivisione e backup file. ONLYOFFICE Document Server (AGPLv3) aggiunge l'editing di Word, Excel e PowerPoint nel browser.

Insieme sostituiscono Dropbox + Microsoft 365 con un'unica infrastruttura, a costo zero.

Cosa fa Seafile CE

  • Sync a blocchi — I file sono suddivisi in blocchi da 1 MB; si trasferisce solo ciò che cambia
  • Selective sync — Scegli quali cartelle sincronizzare su ogni dispositivo
  • Version history + cestino — Ogni modifica crea una versione recuperabile
  • Librerie e gruppi — Repository con permessi, condivisione, link pubblici/privati
  • SeaDoc 2.0 — Editor collaborativo (markdown, tabelle, whiteboard)
  • Wiki / Knowledge Base — Wiki interne basate su SeaDoc
  • Viste multiple — Tabella, griglia, kanban, galleria
  • Tag gerarchici + proprietà file estese — Metadata custom
  • Seafile AI — Generazione automatica di tag e descrizioni (con modello LLM self-hosted, nessun dato lascia il server)
  • Crittografia end-to-end per librerie
  • HTTPS automatico via Caddy + Let's Encrypt
  • Multi-piattaforma: Windows, macOS, Linux, Android, iOS, Web

Cosa NON è in CE: LDAP/SSO nativo, audit log strutturato, clustering HA, antivirus automatico, supporto tecnico ufficiale.

ONLYOFFICE nel browser

Apri un .docx, .xlsx o .pptx nel browser Seafile → si apre ONLYOFFICE. Editing collaborativo in tempo reale, file locking, versioning gestito da Seafile.

Configurazione (2 passi):

  1. Nel docker-compose.yml, il container ONLYOFFICE richiede solo JWT_ENABLED=true e JWT_SECRET=...
  2. In seahub_settings.py (generato al primo avvio nel volume):
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = True
ONLYOFFICE_APIJS_URL = 'https://seafile.tuadominio.it/onlyofficeds/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc','docx','ppt','pptx','xls','xlsx','odt','fodt','odp','fodp','ods','fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx','pptx','xlsx')
ONLYOFFICE_JWT_SECRET = 'tua_jwt_secret'
ONLYOFFICE_FORCE_SAVE = True   

Riavvia: docker compose restart seafile. Fatto


Deploy: Docker Compose in 30 minuti

services:
  db:
    image: mariadb:10.11
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=tua_password_db
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql
    networks: [seafile-net]

  oods:
    image: onlyoffice/documentserver:latest
    container_name: seafile-oods
    networks: [seafile-net]
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=tua_jwt_secret
    volumes:
      - /opt/onlyoffice/data:/var/www/onlyoffice/Data

  memcached:
    image: memcached:1.6.18
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks: [seafile-net]

  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /opt/seafile-data:/shared
      - /opt/seafile/ssl:/shared/ssl
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=tua_password_db
      - TIME_ZONE=Europe/Rome
      - SEAFILE_ADMIN_EMAIL=admin@tuadominio.it
      - SEAFILE_ADMIN_PASSWORD=tua_password_admin
      - SEAFILE_SERVER_LETSENCRYPT=true
      - SEAFILE_SERVER_HOSTNAME=seafile.tuadominio.it
    depends_on: [db, memcached, oods]
    networks: [seafile-net]

networks:
  seafile-net:   

Requisiti: minimo 2 core / 4 GB RAM / 50 GB SSD. Consigliato (5-10 utenti): 4 core / 8 GB RAM / 200 GB SSD.


Perché è più veloce di Nextcloud

Seafile CENextcloud
Sync engineC (nativo)PHP (interpretato)
Modello syncBlocchi (solo chunk modificati)File interi (WebDAV)
LAN throughput~150–250 MB/s~50–100 MB/s
File grande, piccola modifica1–4 MB di deltaFile intero
RAM idle150–256 MB300–512 MB
RAM attiva (10 utenti)256–512 MB1–2 GB
Componenti Docker34+ (Apache, PHP-FPM, DB, Redis, cron)
Benchmark (r/selfhosted): sync di 11 GB → 6 min Seafile, 17 min Nextcloud.

Non è tuning: è architettura. C vs PHP, blocchi vs file interi.

Il profilo utente: un termometro della filosofia

Seafile: nome, email, telefono. Tre campi. Non chiede altro.

Nextcloud: nome, email, telefono, indirizzo, sito web, Twitter, Bluesky, Fediverse, organizzazione, ruolo, headline, biografia, data di nascita, avatar, e un campo "Pronouns" (they/them, she/her, he/him, custom) che è:

  • Nativo nel core
  • Visibile a tutti i colleghi di default
  • Non utilizzato da nessun componente del software
  • Rimovibile solo dall'admin, esplicitamente, in config.php

La issue #40017 che ha portato all'implementazione contiene:

"Neopronouns never really caught on outside of maybe queer communities but this would at least support specifying a generic gender-neutral they/them/…"

Nel 2020, un thread nel forum ufficiale ha avviato la riscrittura dell'interfaccia tedesca in "lingua di genere". La community si è spaccata:

"Für mich ist und bleibt das ganze eine simple und primitive Art seinen Willen bzw Meinung anderen aufzuzwingen." — utente Hutzi

Lo stesso di Nextcloud, con 3 stack + 1 dashboard

Invece di un monolite da 400+ app, hai 3 docker-compose.yml che parti solo quando servono, e Dashy come porta d'ingresso unica.

Stack 1 — Core: Seafile + ONLYOFFICE + MariaDB + Memcached.
→ File sync, office, wiki, SeaDoc.

Stack 2 — Comms: Conduit (Matrix) + Jitsi + Radicale.
→ Chat (FluffyChat), videochiamate, calendario e contatti.

Stack 3 — Sec: Keycloak + LLDAP + ClamAV + Meilisearch + Loki + Promtail + Grafana.
→ SSO, directory utenti, antivirus, full-text search, audit log con dashboard, query e alerting via email (~200 MB RAM totali). Nextcloud ha un file JSON da aprire con grep.

Dashy — Un'unica URL con link a tutti i servizi, status check, hotkey. Nessun profilo utente.

Il vantaggio dell'isolamento: se Jitsi crasha, Seafile continua a sincronizzare. Se Meilisearch va in tilt, la chat non si ferma. In Nextcloud, un'app in errore può bloccare l'intero server PHP per tutti. Con 3 stack separati, il fix è un docker compose restart sul singolo container — non un downtime totale.


Conclusione

Seafile Community Edition + ONLYOFFICE è la combinazione più completa a costo zero per chi vuole un'infrastruttura file + office self-hosted. La v13.0 con AI, viste multiple, SeaDoc 2.0 e Wiki la rende sorprendentemente moderna.

Dove Nextcloud offre 400+ app in un unico pacchetto, Seafile offre un motore di sync veloce e leggero che si estende con container dedicati: Keycloak per SSO, Jitsi per videochiamate, Radicale per calendario, ClamAV per antivirus. Il risultato è lo stesso — un stack completo — ma ogni componente ha uno scopo chiaro, si può aggiungere solo quando serve, e non consuma risorse in background.

La differenza non è tecnica: è filosofica.

Seafile fa una cosa — sincronizzare e condividere file — e la fa bene. Il profilo utente contiene nome, email, telefono. Tre campi. Non chiede altro.

Nextcloud vuole essere tutto per tutti: file, calendario, contatti, chat, videochiamate, 400+ app. E nel farlo, chiede all'utente di dichiarare i propri pronomi di genere (they/them, she/her, he/him, custom) in un campo nativo nel core, visibile a tutti i colleghi di default, che nessun servizio di sync, nessun workflow, nessun algoritmo del software utilizza. Chiede all'utente di dichiarare la propria data di nascita, il proprio ruolo, la propria headline, il proprio sito web, il proprio account Twitter, il proprio account Bluesky, il proprio account Fediverse — in un software di file sync. E nel 2020 ha avviato una riscrittura sistematica della propria interfaccia tedesca per renderla "genderneutral", cambiando stringhe nel codice sorgente per ragioni che nessun componente del software richiede.

Un software di file sync non ha il diritto architetturale di chiedere i pronomi di un utente, la sua data di nascita o il suo account Bluesky. Ma c'è un punto che va oltre l'architettura: imporre a tutti i colleghi di un'azienda un campo che riflette l'ideologia di una parte della community open source non è una feature, è un'opinione vestita da codice.
Telegram Telegram Odysee Odysee Sfero Sfero RSS RSS

posta@opensourcesociety.net
Marco Scurria · Privacy Policy
© 2026 Open Source Society