I'm building PhotoStructure, which is (yet another) photo and video organizing app. It only transcodes videos that won't render properly on popular desktop and mobile browsers (what it does and doesn't transcode is configurable, and _how_ it transcodes is also configurable--I use ffmpeg or vlc under the hood).
The biggest issue with videos is probably their common lack of metadata: they never include timezones (but sometimes include GPS, so PhotoStructure uses that to infer TZ), so I had to build a "metadata inference" engine to glean metadata from relevant "sibling" files.
I also pull in any metadata from sidecars (XMP, MIE, EXIV2, and Google Takeout JSON), so that can help flesh out more browsable aspects: PhotoStructure browsing is all hierarchical tag based, including date hierarchies, keyword hierarchies, filesystem hierarchies, and file type hierarchies.
Note that PhotoStructure is freemium commercial software: if you want to give it a spin, here's a 15% off coupon: "HN15". Details about pricing are on https://photostructure.com/about/pricing/
https://docs.photoprism.app/user-guide/organize/video/
Metadata is extracted from videos and potential sidecar files.
Transcoding can be turned off in settings:
https://docs.photoprism.app/user-guide/settings/advanced/#di...
More finetuning of ffmpeg parameters can be done using config options:
https://docs.photoprism.app/getting-started/config-options/#...
Self-hosting would at least give me the guarantee that the code I'm running is the same code I ran last week: If nothing left my browser then, it probably isn't leaving my browser today.
I don't get that guarantee with someone else's hosted version.
- cadvisor - simple graphs of resource consumption, insights per docker stack
- cyberchef - a LOT of handy operations packed into one small app. Encode/decode any secrets you need and don't bother about privacy
- dozzle - logs browser from all docker stacks
- gogs - git mirror
- heimdall - all apps main panel
- minio - private S3 for my side projects
- nextcloud - private google drive / dropbox
- photoprism - photo management
- pypiserver - private pypi
- registry - docker registry (with UI)
- traefik - reverse proxy of all these services
- portainer - easily manage all of the above.
The coolest thing is that I don't even need to ssh into the instance (Synology NAS) to update / add / remove something. Literally everything can be achieved via portainer.example.com in this setup.
I just recently made my setup public so here's the repo if you're interested. https://github.com/tomwojcik/homeserver-traefik-portainer