mirror of
				https://github.com/imgproxy/imgproxy.git
				synced 2025-10-30 23:08:02 +02:00 
			
		
		
		
	* Update landing page / README.md * Update GETTING_STARTED.md * Update installation.md * Update getting_the_image_info.md * update signing_the_url.md * Update watermark.md * Update presets.md * Update object_detection.md * Update autoquality.md * Update serving_local_files.md * Update docs/serving_files_from_s3.md * Update configuration.md * Update generating_the_url.md * Update chained_pipelines.md but chained pipelines section is not finished * Update serving_files_from_google_cloud_storage.md * Update new_relic.md * Update prometheus.md * Update datadog.md * Update image_formats_support.md * Update about_processing_pipeline.md * Update healthcheck.md * Update memory_usage_tweaks.md * Remove GIF/ICO/BMP/HEIF/AVIF support sections from docs/image_formats_support.md * Minor fixes of the docs * Update serving_files_from_azure_blob_storage.md * Fix issue with x and y offset for 're' watermark property * Fix params description in docs/watermark.md * Fix Alexander Madyankin GH name * Special thanks to Travis * Fix README Co-authored-by: DarthSim <darthsim@gmail.com>
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Serving files from S3
 | |
| 
 | |
| imgproxy can process images from S3 buckets. To use this feature, do the following:
 | |
| 
 | |
| 1. Set the `IMGPROXY_USE_S3` environment variable to be `true`.
 | |
| 2. [Set up the necessary credentials](#setup-credentials) to grant access to your bucket.
 | |
| 3. _(optional)_ Specify the AWS region with `IMGPROXY_S3_REGION` or `AWS_REGION`. Default: `us-west-1`
 | |
| 4. _(optional)_ Specify the S3 endpoint with `IMGPROXY_S3_ENDPOINT`.
 | |
| 5. Use `s3://%bucket_name/%file_key` as the source image URL.
 | |
| 
 | |
| If you need to specify the version of the source object, you can use the query string of the source URL:
 | |
| 
 | |
| ```
 | |
| s3://%bucket_name/%file_key?%version_id
 | |
| ```
 | |
| 
 | |
| ### Set up credentials
 | |
| 
 | |
| There are three ways to specify your AWS credentials. The credentials need to have read rights for all of the buckets given in the source URLs.
 | |
| 
 | |
| #### Environment variables
 | |
| 
 | |
| You can specify an AWS Access Key ID and a Secret Access Key by setting the standard `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables.
 | |
| 
 | |
| ``` bash
 | |
| AWS_ACCESS_KEY_ID=my_access_key AWS_SECRET_ACCESS_KEY=my_secret_key imgproxy
 | |
| 
 | |
| # same for Docker
 | |
| docker run -e AWS_ACCESS_KEY_ID=my_access_key -e AWS_SECRET_ACCESS_KEY=my_secret_key -it darthsim/imgproxy
 | |
| ```
 | |
| 
 | |
| This is the recommended method when using dockerized imgproxy.
 | |
| 
 | |
| #### Shared credentials file
 | |
| 
 | |
| Alternatively, you can create the `.aws/credentials` file in your home directory with the following content:
 | |
| 
 | |
| ```ini
 | |
| [default]
 | |
| aws_access_key_id = %access_key_id
 | |
| aws_secret_access_key = %secret_access_key
 | |
| ```
 | |
| 
 | |
| #### IAM Roles for Amazon EC2 Instances
 | |
| 
 | |
| If you're running imgproxy on an Amazon EC2 instance, you can use the instance's [IAM role](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) to get the security credentials to make calls to AWS S3.
 | |
| 
 | |
| You can learn about credentials in the [Configuring the AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html) guide.
 | |
| 
 | |
| ## Minio
 | |
| 
 | |
| [Minio](https://github.com/minio/minio) is an object storage server released under Apache License v2.0. It is compatible with Amazon S3, so it can be used with imgproxy.
 | |
| 
 | |
| To use Minio as source images provider, do the following:
 | |
| 
 | |
| * Set up Amazon S3 support as usual using environment variables or a shared config file.
 | |
| * Specify an endpoint with `IMGPROXY_S3_ENDPOINT`. Use the `http://...` endpoint to disable SSL.
 |