Skip to content

Overview

Alcoves is a self-hosted application for keeping, organizing, and sharing your files, with particular care for photos, video, and audio. You run it on your own hardware: your files stay on your storage, the features that read your media run locally, and your library is never sent anywhere to be analyzed.

It is built for individuals and small, trusted groups — a person keeping a lifetime of photos, a family sharing memories, a small team working on video together. It is not a public, internet-scale service, and it doesn’t try to be.

  • Files and folders — upload from the browser (resumable, so large videos survive a flaky connection), organize into folders, tag, trash and restore. Duplicate uploads are detected by content hash.
  • Photos — thumbnails and fast previews, a timeline view by capture date, and a map view for photos with GPS data.
  • People — faces are detected and grouped into people you can name. This runs on your own machine, like all media analysis in Alcoves.
  • Objects and sounds — photos get searchable labels for what’s in them; audio and video are tagged by what they contain (speech, music, and so on).
  • Transcription — speech in audio and video becomes readable, searchable text via whisper.cpp. The admin picks the model size to match the hardware.
  • Video editing — a timeline editor for marking and exporting clips (“moments”), with transcript and sound filters to find the parts that matter.
  • Sharing — group files into libraries and invite people with a role that fits (owner, admin, viewer), or publish a single moment as a public link with a proper preview embed.
  • Search and activity — search across all your libraries by file name, detected content, and transcripts; follow changes in shared libraries through the activity feed and notifications.
  • Your own tools — a built-in MCP server lets AI assistants and scripts browse, upload, and organize your library.

Heavy work — transcoding, thumbnails, detection, transcription — runs in a background job queue, so the app stays responsive while your library fills in.

Your hardware, your data

Files live on your own storage. PostgreSQL is the database, a Redis-compatible queue feeds the background workers, and the whole stack ships as one Docker image.

Local, CPU-only analysis

Face, object, and audio detection plus transcription all run on CPU on your own machine. No GPU needed, no cloud inference APIs involved.

Deliberate sharing

Libraries are the unit of sharing. Access is enforced per library with owner / admin / viewer roles, and invites can be capped and expired.

Open to your tools

What you can do in the app, an assistant or script can do through the MCP server — over stdio or HTTP, with personal access tokens or OAuth.

Alcoves is alpha (0.x). It works, and it is used daily, but it is early: expect rough edges and breaking changes between releases (they ship with migrations and changelog entries). If that’s fine with you, it’s free to run and the quickstart takes a few minutes.