https://github.com/the-luap/picpeak
๐ Self-hosted photo sharing platform for photographers & events. Open-source alternative to PicDrop/Scrapbook with time-limited galleries, password protection, custom branding & no monthly fees. Built with React + Node.js ๐ธ
https://github.com/the-luap/picpeak
client-gallery docker event-photography gallery gallery-management nodejs open-source photo-gallery photo-hosting photo-sharing photography photography-business photography-tools picdrop-alternative react self-hosted tailwindcss typescript wedding-photography
Last synced: 10 days ago
JSON representation
๐ Self-hosted photo sharing platform for photographers & events. Open-source alternative to PicDrop/Scrapbook with time-limited galleries, password protection, custom branding & no monthly fees. Built with React + Node.js ๐ธ
- Host: GitHub
- URL: https://github.com/the-luap/picpeak
- Owner: the-luap
- License: mit
- Created: 2025-07-15T06:19:58.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-06-13T22:06:07.000Z (10 days ago)
- Last Synced: 2026-06-13T23:22:53.451Z (10 days ago)
- Topics: client-gallery, docker, event-photography, gallery, gallery-management, nodejs, open-source, photo-gallery, photo-hosting, photo-sharing, photography, photography-business, photography-tools, picdrop-alternative, react, self-hosted, tailwindcss, typescript, wedding-photography
- Language: TypeScript
- Homepage: https://github.com/the-luap/picpeak
- Size: 16.6 MB
- Stars: 233
- Watchers: 4
- Forks: 42
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# PicPeak
**Self-hosted photo sharing for event photographers.**
[](https://opensource.org/licenses/MIT)
[](https://www.docker.com/)
[](https://nodejs.org/)
[](https://reactjs.org/)
[Live Demo](https://demo.picpeak.app) ยท [Deployment Guide](DEPLOYMENT_GUIDE.md) ยท [Homepage](https://www.picpeak.app)
---
PicPeak lets you create password-protected, time-limited photo galleries for your clients โ hosted on your own server. No subscriptions, no storage limits, no third-party access to your photos.

## Demo
Try it out at [demo.picpeak.app](https://demo.picpeak.app).
Admin panel: [demo.picpeak.app/admin](https://demo.picpeak.app/admin) โ login with `demo@picpeak.app` / `Demo2026!`
> The demo resets periodically.
## Features
**Gallery Management** โ Create galleries, upload photos via drag & drop, set passwords and expiration dates. Galleries auto-archive when they expire. Events start as drafts so you can upload and prepare before notifying the client.
**Client Experience** โ Responsive galleries that look great on any device. Guests can browse, download individual photos or everything at once. Optional guest uploads and feedback (likes, comments, ratings).
**Themes & Branding** โ 11 built-in theme presets, custom CSS templates, configurable colors/fonts/layouts. White-label your admin panel and login page with your own logo and company name.
**Email Notifications** โ Automated gallery creation, expiration warning, and archive emails. Multilingual templates (EN, DE, NL, PT, RU) editable from the admin UI.
**Photo Protection** โ Watermarking, right-click prevention, canvas rendering, DevTools detection. Configurable per gallery.
**External Media** โ Reference photos from a mounted folder instead of uploading. PicPeak reads originals in place and generates thumbnails on demand.
**Multi-Language** โ Full UI translations for English, German, Dutch, Portuguese, and Russian. Email templates support all languages independently.
**Analytics** โ Built-in view/download tracking plus optional Umami integration for privacy-focused analytics.
**Video Support** โ Upload and stream MP4, WebM, MOV alongside photos. FFmpeg bundled via npm.
**Multiple Admins** โ Role-based access control with super admin, admin, and editor roles.
## Quick Start
```bash
git clone https://github.com/the-luap/picpeak.git
cd picpeak
cp .env.example .env
# Edit .env โ set at least JWT_SECRET and passwords
docker compose up -d
```
Open `http://localhost:3000` and log in with the credentials from your `.env`.
> **Permissions:** Set `PUID` and `PGID` in `.env` to match your host user (`id -u` / `id -g`) so Docker volumes are writable.
See the [Deployment Guide](DEPLOYMENT_GUIDE.md) for reverse proxy setup, SSL, external media, and production configuration.
## Screenshots
Admin Dashboard

Event Management

Analytics

## Comparison
| | PicPeak | PicDrop | Scrapbook.de |
|---|---|---|---|
| Self-hosted | Yes | No | No |
| Monthly cost | $0 | $29-199 | 19-99 EUR |
| Storage | Unlimited | 50-500 GB | 100-1000 GB |
| Custom branding | Full | Limited | Limited |
| Open source | Yes | No | No |
| API | Yes | Paid | No |
## Tech Stack
- **Backend:** Node.js, Express, PostgreSQL (or SQLite)
- **Frontend:** React, TypeScript, Tailwind CSS
- **Infrastructure:** Docker, Nginx, Redis
- **Processing:** Sharp (images), FFmpeg (video)
## Release Channels
**Stable** (`stable` / `latest`) โ Production-ready. Use this for real deployments.
**Beta** (`beta`) โ Early access to new features. May have rough edges.
```bash
# Set in .env
PICPEAK_CHANNEL=stable # or beta
# Update
docker compose -f docker-compose.production.yml pull
docker compose -f docker-compose.production.yml up -d
```
The admin dashboard notifies you when updates are available.
## Contributing
We welcome contributions โ bug fixes, features, translations, documentation. See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions.
## Documentation
- [Deployment Guide](DEPLOYMENT_GUIDE.md) โ Installation, configuration, reverse proxy, external media
- [Admin API (OpenAPI)](docs/picpeak-admin-api.openapi.yaml) โ Machine-readable API spec
- [Admin API Quickstart](docs/admin-api-quickstart.md) โ Authentication and testing guide
- [Security Policy](SECURITY.md)
## Contributors
Thanks to the people whose code, reports, and feedback have shaped PicPeak:
- [**@Luca-Timo**](https://github.com/Luca-Timo) โ native Apple Silicon multi-arch images, external-URL toggle for legal CMS pages, lazy-loaded folder tree picker, admin-email picker, self-hosted webfont system, gallery header/banner decoupling, and several typed-API refactors.
- [**@Rekoo-PS**](https://github.com/Rekoo-PS) โ sharp-eyed bug reporter and product feedback. Filed the issues that drove the login-loop fix, gallery-loading skeleton work, mobile-lightbox overhaul, admin-events search-counter fix, photo-count column, and bulk-delete workflow. Also a [BuyMeACoffee](https://buymeacoffee.com/theluap) supporter.
If you've contributed and aren't listed here, please open a PR.
## License
MIT โ use it for personal or commercial projects.
---