{"id":13837831,"url":"https://github.com/imgproxy/imgproxy-helm","last_synced_at":"2025-07-10T19:30:55.333Z","repository":{"id":37033069,"uuid":"237456761","full_name":"imgproxy/imgproxy-helm","owner":"imgproxy","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-29T17:42:53.000Z","size":1768,"stargazers_count":56,"open_issues_count":16,"forks_count":54,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-05-01T11:39:55.201Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Mustache","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/imgproxy.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG.md","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}},"created_at":"2020-01-31T15:21:42.000Z","updated_at":"2024-06-13T03:37:18.894Z","dependencies_parsed_at":"2023-12-15T20:23:11.473Z","dependency_job_id":"fd920b37-ed54-4efb-ab79-5e436a637968","html_url":"https://github.com/imgproxy/imgproxy-helm","commit_stats":null,"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgproxy%2Fimgproxy-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgproxy%2Fimgproxy-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgproxy%2Fimgproxy-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imgproxy%2Fimgproxy-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imgproxy","download_url":"https://codeload.github.com/imgproxy/imgproxy-helm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225653891,"owners_count":17502939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-04T15:01:27.648Z","updated_at":"2025-07-10T19:30:55.320Z","avatar_url":"https://github.com/imgproxy.png","language":"Mustache","funding_links":[],"categories":["Mustache"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://imgproxy.net\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/logo-dark.svg?sanitize=true\"\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/logo-light.svg?sanitize=true\"\u003e\n      \u003cimg alt=\"imgproxy logo\" src=\"assets/logo-light.svg?sanitize=true\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003e\n  \u003ca href=\"https://imgproxy.net\"\u003eWebsite\u003c/a\u003e |\n  \u003ca href=\"https://imgproxy.net/blog/\"\u003eBlog\u003c/a\u003e |\n  \u003ca href=\"https://docs.imgproxy.net\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://imgproxy.net/#pro\"\u003eimgproxy Pro\u003c/a\u003e\n\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/imgproxy/imgproxy/pkgs/container/imgproxy\"\u003e\u003cimg alt=\"Docker\" src=\"https://img.shields.io/badge/Docker-0068F1?style=for-the-badge\u0026logo=docker\u0026logoColor=fff\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://bsky.app/profile/imgproxy.net\"\u003e\u003cimg alt=\"Bluesky\" src=\"https://img.shields.io/badge/Bluesky-0068F1?style=for-the-badge\u0026logo=bluesky\u0026logoColor=fff\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://x.com/imgproxy_net\"\u003e\u003cimg alt=\"X\" src=\"https://img.shields.io/badge/X.com-0068F1?style=for-the-badge\u0026logo=x\u0026logoColor=fff\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://mastodon.social/@imgproxy\"\u003e\u003cimg alt=\"X\" src=\"https://img.shields.io/badge/Mastodon-0068F1?style=for-the-badge\u0026logo=mastodon\u0026logoColor=fff\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/5GgpXgtC9u\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/badge/Discord-0068F1?style=for-the-badge\u0026logo=discord\u0026logoColor=fff\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/imgproxy/imgproxy-helm/actions\"\u003e\n    \u003cimg alt=\"GH Check\" src=\"https://img.shields.io/github/actions/workflow/status/imgproxy/imgproxy-helm/check.yml?branch=master\u0026label=Check\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nThis repo contains a [Helm chart](https://github.com/imgproxy/imgproxy-helm/tree/master/imgproxy) to deploy imgproxy.\n\n[imgproxy](https://github.com/imgproxy/imgproxy#imgproxy) is a fast and secure standalone server for resizing and converting remote images. The main principles of imgproxy are simplicity, speed, and security.\n\n## TL;DR\n\nTo install imgproxy to your kubernetes cluster simply run:\n\n```shell\nhelm repo add imgproxy https://helm.imgproxy.net/\n\nhelm upgrade -i imgproxy imgproxy/imgproxy\n```\n\n\u003e [!IMPORTANT]\n\u003e This readme shows documentation for chart version 1.x.\n\u003e\n\u003e * For previous version see the [v0.9.0](https://github.com/imgproxy/imgproxy-helm/tree/0.9.0) tag\n\u003e\n\n## Introduction\n\nimgproxy can be used to provide a fast and secure way to replace all the image resizing code of your web application (like calling ImageMagick or GraphicsMagick, or using libraries), while also being able to resize everything on the fly, fast and easy. imgproxy is also indispensable when handling lots of image resizing, especially when images come from a remote source.\n\nimgproxy does one thing — resizing remote images — and does it well. It works great when you need to resize multiple images on the fly to make them match your application design without preparing a ton of cached resized images or re-doing it every time the design changes.\n\nimgproxy is a Go application, ready to be installed and used in any Unix environment — also ready to be containerized using Docker.\n\nSee this article for a good intro and all the juicy details! [imgproxy: Resize your images instantly and securely](https://evilmartians.com/chronicles/introducing-imgproxy)\n\nSee [official README](https://github.com/imgproxy/imgproxy#imgproxy) for more.\n\n## Prerequisites\n\n* Kubernetes 1.4+ with Beta APIs enabled\n\n## Installing chart\n\n```shell\nhelm repo add imgproxy https://helm.imgproxy.net/\n\nhelm upgrade -i imgproxy imgproxy/imgproxy\n```\n\nThe command deploys imgproxy on the Kubernetes cluster in the default configuration. The [configuration section](#configuration) lists various ways to override default configuration during deployment.\n\n\u003e **Tip:** To list all releases use `helm list`\n\n## Uninstalling the Chart\n\n```shell\nhelm delete imgproxy\n```\n\nThe command removes all the Kubernetes components associated with the chart and deletes the release.\n\n## Configuration\n\nSpecify each parameter using the `--set key=value[,key=value]` argument to helm install or provide your own file via `-f values.yaml`. For example,\n\n```shell\nhelm upgrade -i imgproxy \\\n  --namespace imgproxy \\\n  --set image.tag=v3.28.0 \\\n  imgproxy/imgproxy\n```\n\nThe above command installs a specified version of imgproxy.\n\n## Supported Chart values\n\n### Environment Variables\n\nUse the `env` part of the values to configuse imgproxy server itself.\nCheck the [documentation](https://docs.imgproxy.net/configuration) for the list of supported variables.\n\n```yaml\n# values.yml\n---\n# ...\nenv:\n  FOO: bar\n```\n\n### Additional secrets\n\nIf you want to manage your keys in a more secure manner prepare Secrets (via External Secrets Operator, Sealed Secrets, etc)\n\n```yaml\n# values.yaml\nresources:\n  addSecrets:\n    - improxy-external-secrets\n```\n\n\n### Image\n\nOptions for downloading the imgproxy image\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**image.pullSecrets.password**|Password to your private registry|``|\n|**image.pullSecrets.registry**|URL of a private registry you want to authorize to|``|\n|**image.pullSecrets.username**|Login to your private registry|``|\n|**image.addPullSecrets**|List of existing image pull secrets|`[]`|\n\n### Resources\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.deployment.affinity**|Node and inter-pod affinity configuration||\n|**resources.deployment.annotations**|Custom annotations for imgproxy deployment|`{}`|\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.pod.annotations**|Custom annotations for imgproxy pod|`{}`|\n|**resources.pod.labels**|Custom labels for imgproxy pods|`{}`|\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.deployment.lifecylcle**|Lifecycle hook for the preStart or PreStop commands||\n|**resources.deployment.livenessProbe**|Timeouts and counters for the liveness probe||\n|**resources.deployment.minReadySeconds**|Minimum ready seconds for the statement set||\n|**resources.deployment.nodeSelector**|A node selector labels||\n|**resources.deployment.priority.level**|The level of the pod priority|`0`|\n|**resources.deployment.priority.name**|The name of the priority class||\n|**resources.deployment.priority.preempting**|If the pod should be preempting (k8s v1.19+)|`true`|\n|**resources.deployment.readinessProbe**|Timeouts and counters for the readiness probe||\n|**resources.deployment.replicaCount**|How many pods with imgproxy should be running simultaneously (DEPRECATED, use replicas.default instead!)|`1`|\n|**resources.deployment.replicas.cpuUtilization**|The target percentage for the average CPU utilization by pods after which they should be scaled.|`80`|\n|**resources.deployment.replicas.default**|How many pods with imgproxy should be running after deployment|`1`|\n|**resources.deployment.replicas.maxCount**|The maximum number of pods the imgproxy can be scaled to.|`1`|\n|**resources.deployment.replicas.minCount**|The minimal number of pods the imgproxy can be scaled to.|`1`|\n|**resources.deployment.replicas.stabilizationInterval**|The number of seconds for which past recommendations should be considered while scaling up or scaling down (0 - 3600) to prevent flapping.|`300`|\n|**resources.deployment.replicas.stepCount**|The max number of pods to be added/dropped during autoscaling step.|`1`|\n|**resources.deployment.replicas.stepSeconds**|The period in seconds (1-1800) during which up to `stepCount` pods can be added or dropped by autoscaler.|`60`|\n|**resources.deployment.resources**|Hash of resource limits for your pods|`{}`|\n|**resources.deployment.securityContext**|Hash of security context settings for your pods|`{}`|\n|**resources.deployment.terminationGracePeriodSeconds**|A custom amount of time to terminate the app|`30`|\n|**resources.deployment.tolerations**|Tolerations for Kubernetes taints||\n|**resources.deployment.topologySpreadConstraints**|topologySpreadConstraints for distributing pods across zones|`[]`|\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.podDisruptionBudget.enabled**|Enable or disable a disruption budget policy|`false`|\n|**resources.podDisruptionBudget.maxUnavailable**|maxUnavailable option for the PodDisruptionBudget|`0`|\n|**resources.podDisruptionBudget.minAvailable**|minAvailable option for the PodDisruptionBudget|`0`|\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.serviceAccount.existingName**|The name of an existing service account to be used by deployments|``|\n|**resources.serviceAccount.annotations**|Annotations for the Kubernetes service account for imgproxy|``|\n|**resources.serviceAccount.aws.accountId**|The AWS Account ID to authenticate via IAM|``|\n|**resources.serviceAccount.aws.iamRoleName**|The name of the AWS IAM Role to authenticate via IAM|``|\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.service.type**|Kubernetes service type for imgproxy|`ClusterIP`|\n|**resources.service.loadBalancerIP**|Load balancer ip for service type \"LoadBalancer\"|''|\n|**resources.service.loadBalancerSourceRanges**| Load balancer source ranges for service type \"LoadBalancer\"|`[]|\n|**resources.service.externalTrafficPolicy**| Enable client source IP preservation |`Cluster`|\n|**resources.service.nodePort**|Set the initial value when Kubernetes type is NodePort|``|\n\n### Ingress configuration\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**resources.ingress.acme**|Enables the ingress resource annotation which tells cert-manager to issue a Let's Encrypt certificate|`false`|\n|**resources.ingress.annotations**|Additional annotations for the ingress resource||\n|**resources.ingress.enabled**|When true, enables ingress resource for imgproxy|`false`|\n|**resources.ingress.health.whitelist**|Comma separated string of CIDR addresses that are allowed to access `/health` url of imgproxy||\n|**resources.ingress.hosts**|Hostnames for the ingress resource to use|`[\"example.com\"]`|\n|**resources.ingress.pathSuffix**|Suffix to be added to path prefix, for example wildcard '*' for AWS balancer||\n|**resources.ingress.tls**|TLS config array||\n|**resources.ingress.tls[].hosts**|Hostnames this tls secret is used for|`[\"example.com\"]`|\n|**resources.ingress.tls[].secretName**|Name of the k8s Secret resource which stores crt \u0026 key for the ingress resource||\n\nSee `values.yaml` for some more Kubernetes-specific configuration options.\n\n### Persistence\n\nOptions to mount a persistent volume.\n\n|Value|Description|Default|\n|-----|-----------|-------|\n|**persistence.enabled**|Enable persistence for deployment.|`false`|\n|**persistence.name**|Set name for persistent volume claim.|`imgproxy-data`|\n|**persistence.existingClaim**|Reference an existing PVC instead of creating a new one.|`\"\"`|\n|**persistence.mountPath**|Mount path for PVC in the imgproxy pod.|`/images`|\n|**persistence.subPath**|Mount sub path of the persistent volume.|`\"\"`|\n|**persistence.accessModes**|Access modes for the persistent volume.|`- ReadWriteOnce`|\n|**persistence.size**|Storage size of the PV.|`10Gi`|\n|**persistence.storageClass**|Set the storageClass for the persistent volume claim.|`\"\"`|\n|**persistence.dataSource**|Create a PV from a data source (e.g. snapshot).|`\"\"`|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimgproxy%2Fimgproxy-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimgproxy%2Fimgproxy-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimgproxy%2Fimgproxy-helm/lists"}