Skip to content

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:

Repository Structure

Create a GitHub repository with the following structure:

weddingshare-deploy/
├── Dockerfile
└── .dockerignore

Dockerfile

Create a Dockerfile in your repository:

FROM ghcr.io/kevinchristopherlee/weddingshare:latest
# Web interface port
EXPOSE 80
# The base image handles the entrypoint

Environment Variables

VariableRequiredDefaultDescription
TITLENoWeddingShareEvent title
PASSWORDNo-Optional gallery password
MAX_FILE_SIZENo10MMaximum upload file size

Deployment on Klutch.sh

  1. Push your Dockerfile to your GitHub repository.
  2. Log in to Klutch.sh and create a new project.
  3. Create a new app within your project and connect your GitHub repository containing the Dockerfile.
  4. Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **80**
  5. 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
  6. Attach a persistent volume: - Mount path: `/app/uploads` - Recommended size: 50 GB (or more depending on expected photos) - Purpose: Store all uploaded photos
  7. Click **Deploy** and wait for the build to complete.
  8. Access your WeddingShare instance and generate QR codes for guests.

Post-Deployment Setup

After deployment:

  1. Access the admin interface to customize settings
  2. Generate QR codes to print for table cards or invitations
  3. Test upload functionality before the event
  4. 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.

With many photos, initial loading may take time. Consider enabling lazy loading if available.

Additional Resources