Ebla Documentation

A hybrid file sync system with server-authoritative storage and P2P acceleration. Built for privacy, control, and AI-powered knowledge retrieval.

What is Ebla?

Ebla is a Personal Knowledge Operating System where file sync is the data ingestion layer. It combines the reliability of server-based sync with the speed of peer-to-peer transfers, all while keeping you in complete control of your data.

Hybrid Sync

Server is source of truth, P2P accelerates transfers on local networks

Single Binary

One binary for server, one for client, zero runtime dependencies

CLI-First

Terminal interface first, web UI included, API for everything

Self-Hosted

Your data, your server, your control—always

Features

Sync Foundation

  • Block-level file chunking with SHA-256 deduplication
  • Server-authoritative sync with immutable commits
  • Configurable conflict resolution strategies
  • Ignore rules (.eblaignore)
  • Full version history with restore

P2P Acceleration

  • mDNS peer discovery (automatic LAN discovery)
  • Direct P2P block transfer (TCP)
  • Server-coordinated peer discovery
  • NAT traversal with STUN/TURN/ICE

AI-Powered Search

  • Automatic file indexing (PDF, Office, Markdown, code)
  • Hybrid search (semantic + keyword)
  • Natural language Q&A with RAG
  • Mandatory citations (file, page, excerpt)
  • Pluggable backends (OpenAI, Anthropic, Ollama)

Teams & Collaboration

  • Shared libraries with role-based access
  • Fine-grained ACLs (folder/file level)
  • Team management with invitations
  • Internal and external share links
  • Audit logging

Operations

  • Automated backup system with retention
  • Prometheus metrics and health endpoints
  • Admin dashboard with user management
  • Garbage collection and storage optimization
  • TLS support with automatic cert reload

Cloud Storage

  • Local filesystem
  • AWS S3 / MinIO / Backblaze B2
  • Google Cloud Storage
  • Azure Blob Storage
  • Tiered storage (hot/warm/cold/archive)

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        EBLA SERVER                              │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                   HTTP/2 + WebSocket                       │  │
│  │    REST API │ Sync Protocol │ P2P Coordination │ Admin    │  │
│  ├───────────────────────────────────────────────────────────┤  │
│  │                     Core Services                          │  │
│  │  • Auth          • Sync Engine      • Block Storage       │  │
│  │  • Libraries     • P2P Tracker      • Knowledge Layer     │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘
         │                              │
         ▼                              ▼
   ┌──────────┐                ┌─────────────────┐
   │ PostgreSQL│                │  Object Storage │
   │ (metadata)│                │  (S3/MinIO/disk)│
   └──────────┘                └─────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                        EBLA CLIENT                              │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                      Sync Daemon                           │  │
│  │  • File watcher     • Block chunker    • Hash cache       │  │
│  │  • Server sync      • P2P discovery    • P2P transfer     │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘

See the Architecture page for detailed diagrams and explanations.

Quick Links

Comparison

Feature Ebla Seafile Nextcloud Syncthing
Architecture Hybrid Server Server P2P
Single Binary Yes No No Yes
Block Dedup Yes Yes No Yes
P2P Transfer Yes (LAN + NAT) No No Yes
AI Search Yes No No No
Cloud Storage Yes (S3, GCS, Azure) S3 S3 No
Version History Full (immutable) Yes Limited Partial
Self-Hosted Yes Yes Yes Yes

License

Copyright (c) 2024-2026 ALTN VENTURES LLC. All rights reserved.

Support

For questions, bug reports, or feature requests: