Reverse proxy for AWS S3 with basic authentication and symlink support.
2.2K
** Forked from https://github.com/pottava/aws-s3-proxy **
Difference from the original is the ability to add a symlink.json to S3. This can then be included in the URL and the contents of the JSON file is used to replace the initial part of the URL.
For instance adding symlink.json containing { "URL" : "/test2" } to folder /test1 in a bucket would mean the object /test2/hello could be accessed with the URL /test1/hello.
Supported tags and respective Dockerfile links:
・latest (prod/1.5/Dockerfile)
This is a reverse proxy for AWS S3, which is able to provide basic authentication as well.
You don't need to configure a Bucket for Website Hosting.
http://this-proxy.com/access/ -> s3://backet/access/index.html
(日本語はこちら)
| Environment Variables | Description | Required | Default |
|---|---|---|---|
| AWS_S3_BUCKET | The S3 bucket to be proxied with this app. | * | |
| AWS_S3_KEY_PREFIX | You can configure S3 object key prefix. | - | |
| AWS_REGION | The AWS region where the S3 bucket exists. | us-east-1 | |
| AWS_ACCESS_KEY_ID | AWS access key for API access. | EC2 Instance Role | |
| AWS_SECRET_ACCESS_KEY | AWS secret key for API access. | EC2 Instance Role | |
| HTTP_CACHE_CONTROL | Overrides S3's HTTP Cache-Control header. | S3 Object metadata | |
| HTTP_EXPIRES | Overrides S3's HTTP Expires header. | S3 Object metadata | |
| BASIC_AUTH_USER | User for basic authentication. | - | |
| BASIC_AUTH_PASS | Password for basic authentication. | - | |
| SSL_CERT_PATH | TLS: cert.pem file path. | - | |
| SSL_KEY_PATH | TLS: key.pem file path. | - | |
| APP_PORT | The port number to be assigned for listening. | 80 | |
| ACCESS_LOG | Send access logs to /dev/stdout. | false |
docker run -d -p 8080:80 -e AWS_REGION -e AWS_S3_BUCKET pottava/s3-proxy
docker run -d -p 8080:80 -e AWS_REGION -e AWS_S3_BUCKET -e BASIC_AUTH_USER -e BASIC_AUTH_PASS pottava/s3-proxy
docker run -d -p 8080:80 -e AWS_REGION -e AWS_S3_BUCKET -e SSL_CERT_PATH -e SSL_KEY_PATH pottava/s3-proxy
proxy:
image: pottava/s3-proxy
ports:
- 8080:80
environment:
- AWS_REGION=ap-northeast-1
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_S3_BUCKET
- BASIC_AUTH_USER=admin
- BASIC_AUTH_PASS=password
- ACCESS_LOG=true
container_name: proxy
Code released under the MIT license.
Content type
Image
Digest
Size
5.5 MB
Last updated
about 10 years ago
docker pull iadev/s3-proxy