Skip to content

itsma3il/invoult

Repository files navigation

Invoult

Invoult logo

Your self-hosted personal document vault and PDF workspace.
Secure files, smart search, share links, AI-assisted metadata, and extensible workflows.

Status Backend Frontend Worker Deployment

Why Invoult

Invoult is built for people who want cloud-like convenience without giving up control of their data.

  • Self-hosted first with local and cloud provider routing
  • Encrypted file handling for sensitive categories
  • Built-in PDF toolkit (merge, split, OCR, reorder, extract, repair, build)
  • Vault entries for structured personal secrets and references
  • Secure public sharing with expiration, password access, and audit logs
  • AI enrichment (optional) for tags, summaries, and extraction
  • Extension architecture for domain-specific workflows

Core capabilities

  1. File Vault: Upload, preview, tag, categorize, version, and bulk-manage files.
  2. Storage Federation: Route to Local, Google Drive, Dropbox, and MEGA.
  3. PDF Jobs: Asynchronous queue-backed operations through a Python worker.
  4. Smart Search: Unified search across files, vault entries, and extensions.
  5. Recovery & Backup: Recovery keys, encrypted backups, restore workflows.
  6. Plugin-like Extensions: Built-in Application Tracker + Document Builder.

Quick start

# 1) Configure environment
cp .env.example .env

# 2) Start services
podman-compose up -d

# 3) Initialize app (first run)
podman exec vault-laravel php artisan key:generate
podman exec vault-laravel php artisan migrate --seed

# 4) Open
# Frontend: http://localhost:5173
# API:      http://localhost:8000

Architecture at a glance

  • Frontend: React + Vite (frontend/)
  • API: Laravel (app/)
  • Worker: FastAPI for document/AI operations (python-worker/)
  • Infra: PostgreSQL, Redis, Queue worker, Nginx, optional Cloudflare tunnel
  • Orchestration: podman-compose.yml

Documentation

For contributors

  • The app is modular and extension-ready.
  • Backend extension points live in extensions/*/backend.
  • Python worker extension routes can be mounted from extensions/*/python/routes.py.
  • Keep API changes reflected in backend documentation.
  • Contribution workflow: CONTRIBUTING.md
  • Security policy: SECURITY.md

Branding note

The current logo is a temporary SVG placeholder: Docs/assets/Invoult-banner.png.
When you provide the final logo, replace this file and keep the same path for instant repo-wide updates.

About

Invoult is a self-hosted personal document vault and PDF workspace for people who want cloud-like workflows without surrendering data ownership.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Contributors