Sign inSign up

yavadmin/docx-api

By yavadmin

•Updated 5 months ago

docx — FastAPI backend (auth, documents, files, AI, sync) for the docx app.

Buildkit cache
Image
0

1.8K

yavadmin/docx-api repository overview

docx — FastAPI backend (auth, documents, files, AI, sync) for the docx app.

⁠docx API

docx-api is the FastAPI backend for docx⁠ — a self-hosted, offline-first document management app and file manager.

It handles authentication, RBAC, workspaces, the BlockNote document store, file metadata, presigned uploads/downloads, the AI search and Q&A pipeline (pgvector + Anthropic / OpenAI / Ollama), preview routing, the sharing model, and the offline outbox sync API.

⁠Tags

TagNotes
latestTracks the tip of master
v1.0.0, v1.0.1, …Semver release tags
sha-<short>Pinned commit (use in docker-compose.prod.yml)

⁠What's inside

  • Python 3.12 + FastAPI + SQLAlchemy 2.x
  • Alembic migrations
  • uv for dependency management
  • Pluggable ObjectStore (MinIO, AWS S3, R2, B2, Azure Blob)
  • AIProvider abstraction with auto-fallback (Anthropic → OpenAI → Ollama)
  • Arq worker process

Platform: linux/amd64.

⁠Quick start

This image is designed to run as part of the docx stack — it needs Postgres + pgvector, Redis, object storage, and the docx-nginx ingress. Use the project's docker-compose.prod.yml:

git clone https://github.com/YavLabs/docx.git
cd docx
cp .env.example .env
# edit .env — set APP_BASE_URL, JWT_SECRET, SUPERADMIN_*, storage creds
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d
docker compose -f docker-compose.prod.yml exec api uv run alembic upgrade head

⁠Environment

All configuration is via the project .env. Required:

  • APP_BASE_URL — the public origin (drives emails, OAuth, CORS, presigned URLs)
  • POSTGRES_*
  • STORAGE_* (or the bundled MinIO)
  • JWT_SECRET
  • SUPERADMIN_EMAIL, SUPERADMIN_PASSWORD

Optional: ANTHROPIC_API_KEY, OPENAI_API_KEY, OLLAMA_BASE_URL, GOOGLE_CLIENT_ID/SECRET.

See .env.example⁠ for the full list.

Tag summary

Content type

Image

Digest

sha256:4bd809ad8…

Size

176 MB

Last updated

5 months ago

docker pull yavadmin/docx-api