All Projects → harshavardhana → s3www

harshavardhana / s3www

Licence: Apache-2.0 License
Serve static files from any S3 compatible object storage services (Let's Encrypt ready)

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to s3www

Minio Py
MinIO Client SDK for Python
Stars: ✭ 400 (+365.12%)
Mutual labels:  aws-s3, s3-bucket, minio
simply-static-deploy
WordPress plugin to deploy static sites easily to an AWS S3 bucket.
Stars: ✭ 48 (-44.19%)
Mutual labels:  aws-s3, s3-website, s3-bucket
BlobHelper
BlobHelper is a common, consistent storage interface for Microsoft Azure, Amazon S3, Komodo, Kvpbase, and local filesystem written in C#.
Stars: ✭ 23 (-73.26%)
Mutual labels:  aws-s3, s3-bucket
flask-drive
A simple Flask app to upload and download files off Amazon's S3
Stars: ✭ 23 (-73.26%)
Mutual labels:  aws-s3, s3-bucket
aws-maven-plugin
Deploys resources to AWS using maven
Stars: ✭ 25 (-70.93%)
Mutual labels:  aws-s3, s3-bucket
terraform-aws-s3
Terraform module to create default S3 bucket with logging and encryption type specific features.
Stars: ✭ 22 (-74.42%)
Mutual labels:  s3-website, s3-bucket
S3Scan
Script to spider a website and find publicly open S3 buckets
Stars: ✭ 21 (-75.58%)
Mutual labels:  aws-s3, s3-bucket
Bucket-Flaws
Bucket Flaws ( S3 Bucket Mass Scanner ): A Simple Lightweight Script to Check for Common S3 Bucket Misconfigurations
Stars: ✭ 43 (-50%)
Mutual labels:  aws-s3, s3-bucket
Go Bootstrap
Easy way to bootstrap a web server in Go (Routing|Middleware|Https)
Stars: ✭ 27 (-68.6%)
Mutual labels:  letsencrypt, http-server
ionic-image-upload
Ionic Plugin for Uploading Images to Amazon S3
Stars: ✭ 26 (-69.77%)
Mutual labels:  aws-s3, s3-bucket
aws-tutorial-code
AWS tutorial code.
Stars: ✭ 114 (+32.56%)
Mutual labels:  s3-website, s3-bucket
aws-s3-multipart-upload
Example AWS S3 Multipart upload with aws-sdk for Go - Retries for failing parts
Stars: ✭ 34 (-60.47%)
Mutual labels:  aws-s3, s3-bucket
image-uploader
JavaScript Image Uploader Library for use with Amazon S3
Stars: ✭ 19 (-77.91%)
Mutual labels:  aws-s3, s3-bucket
Simple Httpd
Drop-in replacement for Python SimpleHTTPServer. Provides TLS via Let's Encrypt over HTTP2, and auto generated self-signed certificates.
Stars: ✭ 217 (+152.33%)
Mutual labels:  letsencrypt, http-server
mlflow-tracking-server
MLFLow Tracking Server based on Docker and AWS S3
Stars: ✭ 59 (-31.4%)
Mutual labels:  aws-s3, s3-bucket
Unipi
Serving content from a git repository via HTTPS (including let's encrypt provisioning) as MirageOS unikernel
Stars: ✭ 46 (-46.51%)
Mutual labels:  letsencrypt, http-server
minio-boshrelease
MinIO release for http://bosh.io/
Stars: ✭ 31 (-63.95%)
Mutual labels:  aws-s3, minio
moodle-tool objectfs
Object file storage system for Moodle
Stars: ✭ 61 (-29.07%)
Mutual labels:  aws-s3, s3-bucket
0x4447 product s3 email
📫 A serverless email server on AWS using S3 and SES
Stars: ✭ 2,905 (+3277.91%)
Mutual labels:  aws-s3, s3-bucket
Rust S3
Rust library for interfacing with AWS S3 and other API compatible services
Stars: ✭ 177 (+105.81%)
Mutual labels:  aws-s3, minio

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.17

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].