Skip to content

TruSpace

AI-infused, Decentralized & Sovereign Document Workspace

TruSpace makes collaboration on documents between stakeholders more efficient while making data sovereign to all participants. It uses AI for document interpretation and decentralization to stay in control of your data.

Get Started Try Demo View on GitHub


  • 100% Open Source


    Fully open-source under GPL-3.0. Self-hostable with no cloud provider needed. Your data, your rules.

    View License

  • Decentralized Storage


    Built on IPFS for automatic sync between trusted nodes. Fault-tolerant and censorship-resistant architecture.

    Learn about IPFS

  • Local AI Processing


    Powered by Ollama + Open Web UI for private, local AI document interpretation with customizable prompts.

    Configure AI

  • Workspace Organization


    Organize content and participants in workspaces. Public and private options with granular permissions.

    Manage Workspaces

  • Security First


    End-to-end encryption, private IPFS networks, and encrypted credentials. Documents synced only to trusted peers.

    Security Details

  • Easy Deployment


    One-command setup with Docker. Ready for local development, standalone servers, or Raspberry Pi.

    Quick Start


🚀 Quick Start

Get TruSpace running in under 5 minutes:

git clone git@github.com:openkfw/TruSpace.git
cd TruSpace
./start.sh
# In WSL terminal
git clone git@github.com:openkfw/TruSpace.git
cd TruSpace
./start.sh
git clone git@github.com:openkfw/TruSpace.git
cd TruSpace
docker compose up -d

Then open http://localhost:3000 and register your first user! 🎉

Try the Sandbox

Want to test without installing? Try our online sandbox - register a user and start exploring!


🏗 Tech Stack

Layer Technologies
Frontend TypeScript, React, Next.js, Radix UI
Backend TypeScript, Express.js
Storage IPFS, IPFS Cluster
Database SQLite
AI Engine Ollama, Open Web UI
Container Docker
graph LR
    A[Frontend<br/>Next.js] --> B[Backend<br/>Express]
    B --> C[IPFS Cluster]
    B --> D[SQLite]
    B --> E[Ollama]
    C --> F[IPFS Node]
    E --> G[Open Web UI]

    style A fill:#7c3aed,stroke:#333,color:#fff
    style B fill:#7c3aed,stroke:#333,color:#fff
    style C fill:#00bcd4,stroke:#333,color:#fff
    style F fill:#00bcd4,stroke:#333,color:#fff
    style E fill:#10b981,stroke:#333,color:#fff
    style G fill:#10b981,stroke:#333,color:#fff

🤝 Connect Your Nodes

Already have TruSpace running? Connect to other nodes for decentralized sync:

# On target node - generate connection details
./scripts/fetch-connection.sh -e

# On your node - connect using the received files
./scripts/connectPeer-automatic.sh .connection .connection.password

Full Connection Guide


📚 Documentation Sections

  • Getting Started

    Installation guides for various environments, first steps, and FAQ.

    Start Here

  • Configuration

    Environment variables, startup options, network and AI configuration.

    Configure

  • User Guide

    Working with workspaces, documents, and AI features.

    User Guide

  • Admin Guide

    User management, node connections, backup and recovery.

    Admin Guide

  • Developer Guide

    Development setup, contributing guidelines, API reference.

    Developer Guide

  • Reference

    API docs, data types, CLI reference, troubleshooting.

    Reference


💬 Community & Support