• Stars
    star
    123
  • Rank 289,107 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Serve static files from any S3 compatible object storage services (Let's Encrypt ready)

s3www

Serve static files from any S3 compatible object storage endpoints.

Simplifies and secure AWS S3 Static Website Hosting by keeping your bucket private, secure, run-anywhere you like and with Automatic TLS based on Let's Encrypt.

Features

  • Automatic credentials rotation when deployed on AWS EC2, ECS or EKS services for your AWS S3 buckets - yay! 🔒😍
  • Automatic certs renewal for your DOMAIN along with OCSP stapling, full suite of ACME features, HTTP->HTTPS redirection (all thanks to certmagic).

Install

Released binaries are available here, or you can compile yourself from source.

NOTE: minimum Go version needed is v1.18

go install github.com/harshavardhana/s3www@latest

Binary

Make sure you have index.html under mysite

s3www -endpoint "https://s3.amazonaws.com" -accessKey "accessKey" \
	  -secretKey "secretKey" -bucket "mysite"

s3www: Started listening on http://127.0.0.1:8080

Point your web browser to http://127.0.0.1:8080 ensure your s3www is serving your index.html successfully.

Container

Make sure you have index.html under mysite

podman run --rm -p 8080:8080 y4m4/s3www:latest \
	  -endpoint "https://s3.amazonaws.com" \
	  -accessKey "accessKey" \
	  -secretKey "secretKey" \
	  -bucket "mysite" \
	  -address "0.0.0.0:8080"

s3www: Started listening on http://0.0.0.0:8080

Point your web browser to http://127.0.0.1:8080 ensure your s3www is serving your index.html successfully.

Auto TLS

Make sure you have index.html under mysite

s3www -endpoint "https://s3.amazonaws.com" -accessKey "accessKey" \
	  -secretKey "secretKey" -bucket "mysite" \
	  -lets-encrypt -address "example.com"

s3www: Started listening on https://example.com

Point your web browser to https://example.com ensure your s3www is serving your index.html successfully.

Permissions

AWS IAM Policy

s3www requires access to view and list all files in the bucket.

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "",
			"Effect": "Allow",
			"Action": "s3:GetObject",
			"Resource": "arn:aws:s3:::<Bucket Name>/*"
		},
		{
			"Sid": "",
			"Effect": "Allow",
			"Action": "s3:ListBucket",
			"Resource": "arn:aws:s3:::<Bucket Name>"
		}
	]
}

License

This project is distributed under the Apache License, Version 2.0, see LICENSE for more information.

More Repositories

1

boilerpipy

Readability/Boilerpipe extraction in Python
Python
56
star
2

minio-kafka

Compose minio + kafka for bucket notifications
Go
14
star
3

harbor-minio

How to use Harbor with MinIO?
14
star
4

minio-js-browser-upload

HTML
13
star
5

qed

QED is a multi-screen projector system written in Javascript.
Java
8
star
6

grpc-gob-hello

gRPC demo with Gob codec (Go)
Go
6
star
7

caddylogger

Caddy access log middleware for dl.minio.io
Go
5
star
8

attrz

Python based getfattr/setfattr tools for cross platform usage
Python
5
star
9

miniobrowser

Minio Cloud Storage file manager.
JavaScript
5
star
10

minio-rust

Minio Rust Library for Amazon S3 Compatible Cloud Storage
Rust
3
star
11

y

Game of Y (http://game-of-y.meteor.com)
JavaScript
3
star
12

ctdb-ec2

Supporting CTDB on EC2
Shell
3
star
13

spark-setup

Spark helper
Shell
2
star
14

ziptransfer

Go
2
star
15

radhat-trie

Collection of Radix Tree and Hat Trie implementation
C
2
star
16

minio-xl

Minio XL
Go
2
star
17

python-calais

Fork of python-calais from code.google.com, supports unicode and better url handling
Python
2
star
18

github

Compare stargazers against two different repos
Go
2
star
19

decifer

Transparent decryption gateway for encrypted objects on S3
Go
1
star
20

fio

Disk latency benchmarking tool
Go
1
star
21

minio-go-legacy

Minio Go Library for Amazon S3 Legacy v2 Signature Compatible Cloud Storage
Go
1
star
22

static-website-example

Static website code and nginx.conf example
JavaScript
1
star
23

auditproxy

trace and audit all HTTP calls through proxy
Go
1
star
24

structured-sources

Collection of public data sources
Shell
1
star
25

docker-scripts

Dockerizing scripts for Red Hat Storage (2.1 and 3.0) and CentOS (6.5)
Shell
1
star
26

minio-fs

Minio-FS is cloud storage server for any filesystem backend on any platform
1
star
27

minl

Minio Lamba
Go
1
star
28

s3tar

Upload objects to MinIO as targz with auto extraction support
Java
1
star
29

benchmarks

Cosbench workload samples.
1
star