Foxel
Menu
Python 3.14React 19License MITGitHub Stars

Private cloud drive with AI semantic search

Unified file management with pluggable storage and built-in previews. Search images and documents in natural language.

File managementPluggable storageSemantic searchBuilt-in previewSharing

The ocean of data is vast; only insight can guide the way. Its structure is deeply hidden beyond appearances.

Foxel UI screenshot

Core features

A private cloud drive built around unified management, extensible storage, and semantic search.

Unified file management

Manage files across different storage backends in one place, reducing context switching.

Pluggable storage backends

An extensible adapter model to integrate multiple storage types and expand on demand.

Semantic search

Search images, documents, and other unstructured content with natural language.

Built-in file preview

Preview images, videos, PDFs, Office docs, text, and code without downloading.

Permissions & sharing

Create public or private share links with clear access boundaries.

Background task center

Run async jobs (indexing, backups, etc.) without blocking the main app.

Live demo

Visit the demo environment to quickly understand key flows and UI interactions.

Demo site

URL: https://demo.foxel.cc

Username/Password: admin / admin

Note: the demo is for preview only; data may be reset at any time.

Use cases

  • Personal documents and photo archiving
  • Team sharing and permission management
  • Unified search across storage backends
  • Find content with semantic descriptions

Quickstart (Docker Compose)

Docker Compose is the recommended way to start Foxel.

  1. Create data directories
    mkdir -p data/db
    mkdir -p data/mount
    chmod 777 data/db data/mount
  2. Download the Compose file
    curl -L -O https://github.com/DrizzleTime/Foxel/raw/main/compose.yaml

    Consider updating SECRET_KEY and TEMP_LINK_SECRET_KEY in compose.yaml with random strong keys.

  3. Start services
    docker-compose up -d
  4. Open the app

    On first launch, follow the setup to initialize the admin account.

Contributing & docs

Bugs, suggestions, and PRs are welcome. Contribution guide: CONTRIBUTING_zh.md

Community

Join the community for updates, discussions, and support.

Telegram group

Telegram group QR code
Open Telegram

WeChat group

WeChat group QR code

If the QR code expires, add WeChat ID drizzle2001 and we’ll invite you to the group.