A modern FastAPI web application for event photo sharing with S3/MinIO cloud storage, user identification, and privacy options.
- Customizable event name (via environment variable)
- User identification (enter name, stored in cookie)
- Photo upload (camera and gallery)
- S3/MinIO integration for cloud storage
- Privacy option: show only own photos or all
- Mobile-friendly, clean UI
- Tap any gallery image to view it larger in a modal (mobile & desktop)
- Optional custom SVG background (add background.svg to project root)
- Dockerized deployment
git clone https://github.com/sysm0n/snapshare.git
cd snapshare
Edit docker-compose.yml
to set your event name, S3/MinIO credentials, and privacy settings:
environment:
- EVENT_NAME=Event Name
- S3_ENDPOINT=minio:9000
- S3_ACCESS_KEY=ROOTNAME
- S3_SECRET_KEY=CHANGEME123
- S3_BUCKET=event1
- SHOW_ONLY_OWN_PHOTOS=true
docker-compose up --build
The app will be available at http://localhost:8000
MinIO Console: http://localhost:9001
- Open the app in your browser
- Enter your name to start uploading and viewing photos
- Use the camera or gallery upload buttons
- Tap any photo in the gallery to view it larger; close the modal by tapping outside or the close button
- If background.svg is present and enabled, the app displays it as a stylish background
- Gallery updates in real time
- If privacy is enabled, you only see your own photos
- Change event name and privacy in
docker-compose.yml
- Use your own S3/MinIO credentials
- Style the UI in
frontend/style.css
- To use a custom SVG background, place your
background.svg
in the project root and setUSE_BACKGROUND=true
indocker-compose.yml
MIT
Made with ❤️ for events and memories.