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.
Use xcaddy to build.
Example:
$ xcaddy build --output ./caddy --with github.com/techknowlogick/caddy-s3browser@main
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 |
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
- This is based on the Browse plugin that is built into Caddy
- s3server from jessfraz
- pretty-s3-index-html by Nolan Lawson