Skip to content
This repository was archived by the owner on Oct 19, 2025. It is now read-only.

charlieegan3/photos

Repository files navigation

photos

photos.charlieegan3.com is a personal, single user photo sharing site which I built and host for myself. The application has a number of features I find valuable:

  • Photo Map - Interactive map view of all geotagged posts
  • Trips - Browse posts from specific trips and date ranges
  • Search - Find posts by tag, description, and location
  • On This Day - Discover posts from this day in previous years
  • Browse by Device - View posts by camera or device used
  • Browse by Lens - Filter posts by specific lenses
  • Tags - Browse posts organized by tags
  • Random - Discover a random post
  • RSS - Subscribe to updates

The app is formed of a Go application. The project is the spiritual successor of a project I built to back up my Instagram account in 2018.

Config

Should you want to run an instance of this application yourself, the required configuration file looks like this:

environment: development # or production
admin:
  auth:
    permitted_email_suffix: "@example.com"
server:
  address: "localhost"
  port: "3000"
  https: false
geoapify:
  url: https://maps.geoapify.com/v1/staticmap
  key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
database:
  migrationsTable: schema_migrations_photos
  connectionString: postgresql://postgres:password@localhost:5432
  params:
    dbname: cms_dev
    sslmode: disable
bucket:
  url: file://./bucket
notification_webhook:
  endpoint: https://example.com

Authentication

The application supports two authentication modes based on the environment:

  • Development (environment: development): No authentication required for admin routes (/admin/*)
  • Production (environment: production): Admin routes require authentication via reverse proxy

In production mode, the reverse proxy must set an X-Email header containing the authenticated user's email address. The application validates that this email ends with the configured permitted_email_suffix.

About

Portfolio site for my photos

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages