{"id":26488301,"url":"https://github.com/novqigarrix/nextjs-custom-image-optimization","last_synced_at":"2026-05-04T09:33:21.500Z","repository":{"id":275422376,"uuid":"926031226","full_name":"NovqiGarrix/nextjs-custom-image-optimization","owner":"NovqiGarrix","description":"Nextjs custom image optimization if you do not want to use Vercel Image Optimization","archived":false,"fork":false,"pushed_at":"2025-02-02T12:42:58.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T07:46:52.447Z","etag":null,"topics":["image-optimization","nextjs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NovqiGarrix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-02T11:34:45.000Z","updated_at":"2025-02-02T12:45:38.000Z","dependencies_parsed_at":"2025-02-02T12:31:48.811Z","dependency_job_id":"95389e26-76f3-40aa-ac47-70fe2e66e0fd","html_url":"https://github.com/NovqiGarrix/nextjs-custom-image-optimization","commit_stats":null,"previous_names":["novqigarrix/nextjs-custom-image-optimization"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NovqiGarrix/nextjs-custom-image-optimization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Fnextjs-custom-image-optimization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Fnextjs-custom-image-optimization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Fnextjs-custom-image-optimization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Fnextjs-custom-image-optimization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NovqiGarrix","download_url":"https://codeload.github.com/NovqiGarrix/nextjs-custom-image-optimization/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NovqiGarrix%2Fnextjs-custom-image-optimization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32601552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["image-optimization","nextjs"],"created_at":"2025-03-20T06:59:16.027Z","updated_at":"2026-05-04T09:33:21.478Z","avatar_url":"https://github.com/NovqiGarrix.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js Custom Image Optimization\n\nThis repository demonstrates two different approaches for implementing custom image optimization in Next.js 14 and later versions. Both implementations utilize Sharp, a high-performance Node.js image processing library, to handle image transformations. This approach is particularly useful when you want to avoid Vercel's image optimization service limitations (such as monthly optimization quotas) or need more control over your image optimization pipeline.\n\n## Projects Overview\n\n### 1. File System Based Optimization (you can't use this on Vercel)\nThe first project showcases image optimization using the local file system. This approach:\n- Stores optimized images directly on the server's file system\n- Great for smaller applications or when cloud storage isn't needed\n- Provides fast access to cached images\n\n### 2. Redis Based Optimization\nThe second project implements image optimization using Redis as a caching layer. This approach:\n- Stores optimized images in Redis for quick retrieval\n\n### 3. Cloudflare Images Based Optimization\nThe third project demonstrates image optimization using Cloudflare Images. This approach:\n- Leverages Cloudflare's global CDN network for image delivery\n- Provides automatic image optimization and format conversion\n- Offers robust image transformation capabilities\n- Includes built-in security features and DDoS protection\n\n## Technical Stack\n- Next.js 14+\n- Sharp (for image processing)\n- Redis (for the Redis-based implementation). You can use upstash (I'm not sponsored by them)\n- Cloudflare Images (for the Cloudflare-based implementation)\n- TypeScript\n\n## Getting Started\n\nEach project has its own setup instructions in their respective directories:\n- `/using-filesystem`\n- `/using-redis`\n- `/using-cloudflare`\n\nPlease refer to the README in each directory for specific setup and running instructions.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovqigarrix%2Fnextjs-custom-image-optimization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovqigarrix%2Fnextjs-custom-image-optimization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovqigarrix%2Fnextjs-custom-image-optimization/lists"}