2.5 KiB
2.5 KiB
📷 EXIF Photo Blog
https://github.com/sambecker/exif-photo-blog/assets/169298/4253ea54-558a-4358-8834-89943cfbafb4
Example App
Features
- Photo upload with EXIF extraction
- Organize photos by tag and camera model
- Infinite scroll
- Built-in auth
- Light/dark mode
- Automatic OG image generation
Installation
1. Deploy to Vercel
- Click Deploy
- Add required storage (Vercel Postgres + Vercel Blob)
- Add environment variables
NEXT_PUBLIC_SITE_TITLE(e.g., My Photos)NEXT_PUBLIC_SITE_DOMAIN(e.g., photos.domain.com)NEXT_PUBLIC_SITE_DESCRIPTION(optional—mainly used for OG meta)
2. Setup Auth
- Generate auth secret
- Add to environment variables:
AUTH_SECRET
- Add admin user to environment variables:
ADMIN_EMAILADMIN_PASSWORD
3. Upload your first photo
- Visit
/admin - Click "Choose File"
- Title your photo
- Click "Create"
4. Develop locally
- Clone code
- Install dependencies
pnpm i - Run
vc devto utilize Vercel-stored environment variables
5. Add Analytics (optional)
- Open project on Vercel
- Click "Analytics" tab
- Follow "Enable Web Analytics" instructions (
@vercel/analyticsis already part of your project)
6. Optional configuration
- Set
NEXT_PUBLIC_HIDE_REPO_LINK = 1to remove footer link to repo - Set
NEXT_PUBLIC_PRO_MODE = 1to enable higher quality image storage - Set
NEXT_PUBLIC_PUBLIC_API = 1to enable a public API available at/api - Set
NEXT_PUBLIC_OG_TEXT_ALIGNMENT = BOTTOMto keep OG image text bottom aligned (default is top)
FAQ
Q: My images/content have fallen out of sync with my database and/or my production site no longer matches local development. What do I do?
A: Navigate to /admin/configuration and click the "Clear Cache" button.