caddy-s3browser
caddy-s3browser copied to clipboard
Caddy plugin to generate file indexes of S3 buckets to browse via Web Client
Caddy s3browser
This will provide directory listing for an S3 bucket (you are able to use minio, or other S3 providers).
Note: For performance reasons, the file listing is fetched once every 5 minutes to reduce load on S3. You can force a refresh by sending a POST request to the plugin.
Building
Use xcaddy to build.
Example:
$ xcaddy build --output ./caddy --with github.com/techknowlogick/caddy-s3browser@main
Configuration
See Caddyfile.tmpl
for a template.
option | type | default | help |
---|---|---|---|
site_name | string | S3 Browser | Site display name |
endpoint | string | S3 hostname | |
region | string | empty | S3 region (optional) |
key | string | S3 access key | |
secret | string | S3 secret key | |
secure | bool | true |
Use TLS when connection to S3 |
bucket | string | S3 bucket | |
refresh_interval | string | 5m |
Time between periodic refresh |
refresh_api_secret | string | empty | A key to protect the refresh API. (optional) |
debug | bool | false |
Output debug information |
signed_url_redirect | bool | false |
Output debug information |
Force Refresh
You can trigger a force refresh by making a POST request to the server:
curl -X POST "$HOST"
When refresh_api_secret
is set, you must use HTTP basic auth:
curl -X POST "api:$SECRET@$HOST" # the username can be anything
Prior Art
- This is based on the Browse plugin that is built into Caddy
- s3server from jessfraz
- pretty-s3-index-html by Nolan Lawson