Peek - Stash Browser

:placard: Summary Modern web browser for Stash with multiple-user support, playlists, and a myriad of per-user customization.
:link: Repository https://github.com/carrotwaxr/peek-stash-browser
:book: Documentation https://carrotwaxr.github.io/peek-stash-browser/

Features

Installation

Detailed installation guides for unRAID, Windows, Linux, and macOS are available in the Getting Started Guide

Screenshots

Changelog

Upcoming Features

  • Animated preview images (GIFs) for tags
  • Marker integration from Stash (view markers, jump to timestamps)
  • TikTok/Reels-style video player mode with gesture support and randomization
  • Support for multiple Stash instances in a single configuration
  • Native Windows, Linux, and macOS binaries (beyond Docker)
  • Separate client applications for Android, iOS, and TV platforms
5 Likes

For anyone interested in the multiple users feature, how would you like to see that work in regards to your Stash’s play and o history? The interesting bit about this is of course Stash only has a single user and so if Peek has multiple, and each syncs with Stash, your play counts, duration, and o counts will go way up and essentially represent the ā€œaggregateā€ activity of all your Peek users. So, to support as many use cases as possible, here’s what I’m thinking:

Introduce additional User settings (that an admins sets per user) that determines the view and sync of said data points. Peek will already track a copy of this information in its own database and always display the per-user stats on their Watch History page, but these settings could determine whether or not a given user’s watch history /o history was synced back to / pushed to Stash, and whether or not the O Count and Play Count they see when browsing Scenes in the library is their own (everything starts at 0 for a new user), or if it shows the Stash value (plus their own I suppose if they don’t sync to Stash, otherwise they wouldn’t get a ā€œLikeā€ or O button)

It’s also worth mentioning that I’ll be adding Inclusion and Exclusion filters that can be set for each user (only show certain tags, etc VS don’t show these tags, etc) and adding a download scene / playlist functionality that can be enabled per user as well.

Curious what people would like to be able to do!

so this is an alternative frontend for the web ui?

Yep! Many people over the years have been using various solutions to get their content to play through Emby, Jellyfin, Plex, or Kodi, and I myself was frustrated with these solutions so I thought I’d introduce a version that was natively targeted to integrate with Stash. Stash is amazing but it’s mostly amazing at organizing and storing metadata for your library. Once I got rolling, I realized how quickly I was able to get complete feature parity with those media browsers, so I’ve moved on to additional Stash-specific features :grin:

For filtering the content for users, I would use groups and galleries. The problem with using tags is that if you re-sync the scene with StashDB, whatever tags you manually add get erased. This does not happen to the group values. So the stash admin can assign scenes to the desired groups, for example, ā€œGroup Aā€, and then the peek admin can set which users can access the content of ā€œGroup Aā€.

Regarding personal history, I don’t mind if the stash admin gets the data from each user, but each peek user should not receive any data from the stash admin. So for the following fields, I think the user should start blank and have their own values:

  • Play history
  • O- count
  • Rating
  • Favorite
  • Playlists

Thanks for the feedback! And excellent to know about using Groups, great callout. I don’t use Groups too much (or didn’t before I started working on this app) so I’ll play around with that

Looks pretty nice! Got it workign easily enough, but havign issues playing files

most don’t play

edit: ive narrowed it down to the fact that i have 3 different paths to libraries, only one of them work. ideas?

they all report when i add them though, ive tried adding them all to the same mount point in docker and different ones

Directory exists and is readable (571 items)

Docker on Windows btw

Hmm great, I’m really glad you got it installed! Do you mind sharing an example of what your config/paths look like? You can DM me if you want, and replace names of paths or whatever, just trying to get an idea of your configuration so I can simulate it locally. And to clarify, are you able to see everything else work properly, it just doesn’t actually play some of your files? Anything errors in the Docker’s logs?

I ended up just moving all my files to the drive that was working. was a needed change anyway.

One thing i do a lot, is add markers, if i could add markers in peek and have them sync to stash, i think i coudl replace stash frontend with Peek.

Also, i would love a tiktok / reel style viewing for mobile! LIke the StashTV pluign

1 Like

Thanks for the feedback! I think Markers will be soon, and I wondered about generating them from Peek but it sounds like that is wanted and makes sense to me. The Reel style viewing, would that just be for markers? I need to check out this other app.

OH and I did try to figure out your path issue and the only thing I came up with was maybe it was a case sensitivity issue. Oh well, glad you re-org’d and got it working nicer

1 Like

If you can, generate them in stash and fetch them in peek would be preffered.

I mostly use StashTV for markers yea. mobile accessible…

Planned Features for v1.3.0 - Hopefully released by tomorrow

  • Adds support and UI for Groups/Movies/Collections
  • The ability to filter the content that certain users see
  • Better video player controls, more mobile-friendly and modern
  • Improved themes plus the ability for users to define their own custom themes

Bugfixes

  • Fix previews not playing when scrolling on mobile
1 Like

I would prefer that markers be managed only by the admin in Stash. This way, he is the only one able to create, modify, and delete content and its inherited metadata. Having the markers available on the Peek player would be great so we can skim through the sections.

The addition of a tab like StashTV would be awesome as well. I don’t use it for markers but for short-form content such as clips, loops, etc. You could basically select a playlist, and it would play its content as if you were on the TikTok/Reels app.

Regarding the filtering of content for users, maybe the Peek admin can create different ā€œlibrariesā€ and then assign each scene to one or more libraries. He could then mark on the user profiles which libraries are available to them.

I’d prefer it to be a thing in Peek so i don’t have to open stash again. but it should create the markers in stash for management.

Admin only though ,yeah, or special role

Can you make it so that: performers, studios, tags, groups, and galleries with no available content for the user simply don’t show?

1 Like

Could you also add some way to reset the rating of an entity back to 0? Once rated, I couldn’t find a way to ā€˜un-rate’

1 Like

Do you mean, if Content Restrictions for the user would make it such that certain Performers, Tags, etc had no content associated with them? Don’t show because there’s no associated content? This can be easily done, just want to make sure I understand the ask

1 Like

This I just noticed while browsing it myself the other night. I’ll add a Reset button. I’m thinking, I don’t want to clutter up the cards on the grids with an additional button, so maybe the reset only lives on the detail page for that item?

1 Like