{"repo":"kserksi/summeRain","free":true,"listed":false,"github":"https://github.com/kserksi/summeRain","clone":"git clone https://github.com/kserksi/summeRain.git","description":"A self-hosted image hosting and photo album service that provides image transcoding, watermarking, responsive resizing, multiple storage backends, and Web/device-side authentication.","language":"Go","stars":21,"topics":[],"license":"Apache-2.0","category":"self-hosted-apps","readme_excerpt":"summeRain A self-hosted image hosting and photo album service with a resource-aware upload pipeline, fixed image variants, watermarking, private sharing, and compatibility for existing V1 images. Early-release notice: V2 is still an early release. The upload protocol, browser processing pipeline, schema, compatibility behavior, and operational defaults may change frequently. Review every changelog, back up MySQL and the image volume, and pin an exact release tag or OCI index digest in production. Documentation V2.0.0 release notes Docker Hub GHCR Overview summeRain uses a modular Go monolith and a React single-page application. The Go service exposes the /api/v1/ API, serves images under /i/ , and hosts the compiled frontend from the same origin. MySQL is the authoritative store for application and job state. Redis provides bounded caching, rate limiting, view buffering, and device replay protection. imgproxy provides bounded V1 dynamic transformations and the optional V2 watermark stage. V2 Image Pipeline V2 moves the expensive decode, resize, format conversion, and compression work to the browser. The backend accepts fixed-recipe, manifest-declared WebP parts, validates them while streaming to staging storage, and promotes fixed variants without re-reading the upload solely for validation. Asset Geometry Quality Lifecycle and use --- --- ---: --- master Original oriented dimensions 80 Persisted full-resolution WebP; owner/admin access gallery 400x400 cover crop 60 Persisted","default_branch":null,"files":null,"tree":[],"storefront":"/r/kserksi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kserksi/summeRain/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}