Deploying WeddingShare
Introduction
WeddingShare is a self-hosted photo sharing platform designed specifically for weddings and events. It provides guests with an easy way to upload and share photos from your special day, creating a collaborative album without relying on social media or commercial photo services.
With WeddingShare, all photos stay under your control on your own server, and guests can easily contribute via QR code or direct link without needing accounts.
Key features of WeddingShare include:
- Guest Uploads: Allow anyone to upload photos without creating accounts
- QR Code Access: Generate QR codes for easy mobile access
- Gallery View: Beautiful gallery for viewing all shared photos
- Photo Download: Download individual photos or entire albums
- Password Protection: Optional password protection for privacy
- Custom Branding: Add your names and wedding details
- No Account Required: Guests can share without registration
- Mobile-Friendly: Responsive design for smartphone uploads
- Bulk Download: Download all photos as a zip file
- EXIF Data: Preserve photo metadata and timestamps
This guide walks you through deploying WeddingShare on Klutch.sh using Docker for your wedding or event.
Prerequisites
Before deploying WeddingShare on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker concepts
Repository Structure
Create a GitHub repository with the following structure:
weddingshare-deploy/├── Dockerfile└── .dockerignoreDockerfile
Create a Dockerfile in your repository:
FROM ghcr.io/kevinchristopherlee/weddingshare:latest
# Web interface portEXPOSE 80
# The base image handles the entrypointEnvironment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
TITLE | No | WeddingShare | Event title |
PASSWORD | No | - | Optional gallery password |
MAX_FILE_SIZE | No | 10M | Maximum upload file size |
Deployment on Klutch.sh
- Push your Dockerfile to your GitHub repository.
- Log in to Klutch.sh and create a new project.
- Create a new app within your project and connect your GitHub repository containing the Dockerfile.
- Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **80**
- Add environment variables: - `TITLE`: Your event name (e.g., "Sarah & John's Wedding") - `PASSWORD`: Optional gallery password - `MAX_FILE_SIZE`: Adjust for larger photos if needed
- Attach a persistent volume: - Mount path: `/app/uploads` - Recommended size: 50 GB (or more depending on expected photos) - Purpose: Store all uploaded photos
- Click **Deploy** and wait for the build to complete.
- Access your WeddingShare instance and generate QR codes for guests.
Post-Deployment Setup
After deployment:
- Access the admin interface to customize settings
- Generate QR codes to print for table cards or invitations
- Test upload functionality before the event
- Share the link with your wedding party
Event Day Tips
- Print QR codes on table cards for easy guest access
- Have a backup method for guests without smartphones
- Designate someone to monitor uploads during the event
- Test the gallery on mobile devices before the event
Troubleshooting
Uploads Failing
Check the MAX_FILE_SIZE setting if guests report upload failures. Modern phones take large photos.
Gallery Slow to Load
With many photos, initial loading may take time. Consider enabling lazy loading if available.