Home
A self-hosted, multi-user front end for one or more Stash servers. Stash stays your library manager; Peek gives each person their own account, ratings, history and limits on what they can see. Read more about what Peek is.
Get started quickly:
- Installation - Get up and running with Docker or unRAID
- Configuration - Connect Peek to your Stash server
- Troubleshooting - Common issues and solutions
What Peek Adds to Stash¶
- Accounts and Access - Admin and user roles, groups that grant sharing and download permissions (denied by default), recovery keys, sign-in through an SSO proxy, and a setup wizard
- Your Own Data - Ratings, favorites, watch history, resume points, O counts and hidden items belong to each user, on all seven kinds of item; the ratings and counts you see are yours, not Stash's (Watch History)
- Content Restrictions - Admins give a user show-only or always-hide lists of collections, tags, studios and galleries, applied everywhere (Learn more)
- Hidden Items - Hide anything for yourself (Learn more)
- Several Stash Servers - One Peek in front of several Stash servers; each user chooses which they see (Learn more)
- Media Through Peek - Streams, captions and images are proxied through Peek, so users never get Stash's address or API key. Stash's own transcodes mean no duplicate transcoding. External players and cast devices get a personal signed link (Learn more)
- Playlists and Sharing - Create, organize and play named playlists, and share them with groups (Learn more)
- Browsing - TV mode, timeline and folder views, recommendations and similar scenes from your own history (Learn more)
- Downloads - Scene files and playlist zips with NFO files, for the users and groups you allow (Learn more)
- Modern Interface - Responsive React UI, optimized for all devices, with themes and per-user customization
- Scalable Library - Built for libraries of 100,000 scenes and more
Peek never edits your Stash metadata. To reach Peek from outside your network, put it behind a reverse proxy.
Requirements¶
- Stash server with GraphQL API enabled and an API key configured (Settings → Security)
- Docker (or Docker on unRAID)
- Network access between Peek and Stash
Architecture¶
Peek uses a single-container architecture:
- Frontend: React 19 app served by nginx
- Backend: Node.js/Express API server (proxied through nginx)
- Database: SQLite (embedded, no separate container)
- Streaming: Proxied through Peek from Stash, using Stash's own transcodes (no local transcoding)
Community & Support¶
- Questions and community: Peek thread on the Stash forum
- Bug Reports and Feature Requests: GitHub Issues
License¶
This project is licensed under the MIT License.
Acknowledgments¶
Built with Stash, React, Express, and other amazing open source projects.