{"id":25073750,"url":"https://github.com/shakibhasan09/imager","last_synced_at":"2026-02-07T23:04:33.831Z","repository":{"id":274793929,"uuid":"920638111","full_name":"shakibhasan09/imager","owner":"shakibhasan09","description":"Imager is a Cloudflare Images alternative written in Go. It allows you to set up an API server to upload and optimize images based on variants you define. ","archived":false,"fork":false,"pushed_at":"2025-01-22T14:16:57.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-24T14:45:26.184Z","etag":null,"topics":["cdn","cloudflare-images","golang","image-processing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shakibhasan09.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-01-22T14:10:28.000Z","updated_at":"2025-01-31T11:58:31.000Z","dependencies_parsed_at":"2025-01-29T12:48:47.853Z","dependency_job_id":"14b1a5a3-9188-4bd8-a484-56ed10f87b31","html_url":"https://github.com/shakibhasan09/imager","commit_stats":null,"previous_names":["shakibhasan09/imager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shakibhasan09/imager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakibhasan09%2Fimager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakibhasan09%2Fimager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakibhasan09%2Fimager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakibhasan09%2Fimager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shakibhasan09","download_url":"https://codeload.github.com/shakibhasan09/imager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakibhasan09%2Fimager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29211632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T22:58:45.823Z","status":"ssl_error","status_checked_at":"2026-02-07T22:58:45.272Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cdn","cloudflare-images","golang","image-processing"],"created_at":"2025-02-06T23:32:07.349Z","updated_at":"2026-02-07T23:04:30.000Z","avatar_url":"https://github.com/shakibhasan09.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Imager\n\nImager is a Cloudflare Images alternative written in Go. It allows you to set up an API server to upload and optimize images based on variants you define.\n\n## Features\n\n- Upload images via an API.\n- Define custom variants for resizing and optimizing images.\n- Serve optimized images on demand.\n\n## Table of Contents\n\n- [Getting Started](#getting-started)\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Getting Started\n\nFollow these instructions to set up and run Imager on your local machine or server.\n\n### Prerequisites\n\n- [Go](https://go.dev/) (1.20 or later)\n- [Docker](https://www.docker.com/) (optional, for containerized deployment)\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/shakibhasan09/imager.git\n   cd imager\n   ```\n\n2. Build the project:\n\n   ```bash\n   go build -o imager\n   ```\n\n3. Run the server:\n   ```bash\n   ./imager\n   ```\n\nThe server will start on `http://localhost:8080` by default.\n\n### Docker Deployment\n\nTo run Imager in a Docker container:\n\n1. Build the Docker image:\n\n   ```bash\n   docker build -t imager .\n   ```\n\n2. Run the container:\n   ```bash\n   docker run -p 8080:8080 imager\n   ```\n\n## Configuration\n\nImager supports configuration through environment variables:\n\n- `PORT`: The port the server will run on (default: `8080`).\n- `UPLOAD_DIR`: Directory where uploaded images will be stored.\n- `VARIANTS`: JSON string defining the image variants (e.g., `{\"thumbnail\": {\"width\": 100, \"height\": 100}}`).\n\n## Usage\n\n1. **Upload an Image**  \n   Use the API endpoint `/upload` to upload images:\n\n   ```bash\n   curl -X POST -F \"file=@your-image.jpg\" http://localhost:8080/upload\n   ```\n\n2. **Access Optimized Images**  \n   Access your image through the variant URL:\n\n   ```\n   http://localhost:8080/images/{variant}/{image_name}\n   ```\n\n   Replace `{variant}` with your defined variant name and `{image_name}` with the uploaded image's name.\n\n## Contributing\n\nWe welcome contributions! To contribute:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Commit your changes and push them to your fork.\n4. Open a pull request.\n\nPlease ensure your code follows the Go coding standards and includes tests.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\nFeel free to open an issue or discussion if you have any questions or suggestions.\n\n```\nLet me know if you'd like any changes!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakibhasan09%2Fimager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshakibhasan09%2Fimager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakibhasan09%2Fimager/lists"}