Quick Start¶
Get Peek up and running in 5 minutes!
Step 1: Install Peek¶
# Pull the latest image
docker pull carrotwaxr/peek-stash-browser:latest
# Generate JWT secret
export JWT_SECRET=$(openssl rand -base64 32)
# Run Peek
docker run -d \
--name peek-stash-browser \
-p 6969:80 \
-v peek-data:/app/data \
-e JWT_SECRET="${JWT_SECRET}" \
carrotwaxr/peek-stash-browser:latest
- Download the unRAID template
- Copy to
/boot/config/plugins/dockerMan/templates-user/ - Go to Docker → Add Container → Select "Peek" from User Templates
- Generate JWT secret:
openssl rand -hex 32 - Click Apply
For Developers
Want to contribute or run with hot reloading? See Local Development Setup.
Step 2: Setup Wizard¶
Open your browser to http://localhost:6969 (or your server IP). The setup wizard runs automatically on first access.
Step 1 — Welcome
Introduction to Peek. Click Get Started to begin.
Step 2 — Create Admin Account
- Username is set to "admin"
- Choose a password (minimum 8 characters, at least 1 letter and 1 number)
- You're automatically logged in after creation
Step 3 — Connect to Stash
- Enter your Stash URL — the full GraphQL endpoint (e.g.,
http://192.168.1.100:9999/graphql) - Enter your API Key — found in your Stash instance under Settings → Security
- Click Test Connection to verify before continuing
- The wizard provides clear error messages if the connection fails (wrong URL, bad API key, host not found, etc.)
Step 4 — Complete
Setup is finished. Click Start Browsing to enter Peek. Your first library sync begins automatically in the background.
Adding More Stash Servers Later
You can connect additional Stash instances after setup. See Multi-Instance Support.
Step 3: Browse Your Library¶
- Scenes: Browse all your video content
- Performers: View performers and their scenes
- Studios: Explore by production company
- Tags: Find content by tags
Step 4: Watch Videos¶
- Click any scene to view details
- Click Play to start video
- Quality automatically adjusts based on network
- Use timeline to seek through video
Step 5: Create Playlists¶
Organize your favorite scenes into custom playlists:
- Click Playlists in the navigation menu
- Click Create Playlist
- Enter a name and optional description
- Click Create
Adding Scenes: - Click the + icon on any scene card - Select your playlist from the menu - Scene is added instantly!
Playing Playlists: - Click a playlist to view its scenes - Click Play to start playback - Use Shuffle to randomize order - Use Repeat to loop your playlist
Learn More
See the Complete Playlists Guide for reordering scenes, editing playlists, and more!
Common Tasks¶
Update Admin Password¶
- Click user icon (top right)
- Select Settings
- Enter new password
- Click Save
Create Additional Users¶
- Go to Users (admin only)
- Click Create User
- Enter username, email, password
- Select role (Admin or User)
- Click Create
Configure Theme¶
- Click theme toggle icon (moon/sun)
- Choose Dark or Light mode
- Theme preference is saved automatically
Video Playback Tips¶
- Direct Play: If browser supports the format, plays directly (no transcoding)
- Transcoded: HLS streaming with adaptive quality when needed
- Seeking: Full timeline scrubbing works in both modes
- Quality: Click quality button to manually select resolution
Keyboard Shortcuts¶
| Key | Action |
|---|---|
Space | Play/Pause |
← | Seek backward 10s |
→ | Seek forward 10s |
↑ | Volume up |
↓ | Volume down |
F | Toggle fullscreen |
M | Mute/unmute |
Full Keyboard Navigation
Peek supports complete keyboard navigation including TV mode! See the Keyboard Navigation Guide for all shortcuts.
Troubleshooting First-Time Issues¶
Can't Login¶
- Check container logs:
docker logs peek-stash-browser - Verify database was created in
/app/data - Ensure
JWT_SECRETis set (or auto-generated)
No Scenes Showing¶
- Check your Stash connection in Settings → Server Settings
- Verify your Stash API key is valid in Stash → Settings → Security
- Test Stash connectivity from container:
Videos Won't Play¶
- Check container logs:
docker logs peek-stash-browser - Verify Stash is accessible and streaming is working in Stash itself
- Check browser console for errors
Next Steps¶
Need Help?¶
- Troubleshooting Guide
- GitHub Issues
- Stash Discord - #third-party-integrations channel