Skip to content
A simple and reliable tool to deploy static websites
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A simple and reliable tool to deploy static websites.

What is theros?

Theros is a CLI tool to deploy static websites. It takes a website and upload it to an s3 bucket.

You can use theros to quickly create a new s3 bucket with the proper static website hosting configuration with a single command.


We need an alternative to manually uploading static websites to s3 buckets and repeatidly configuring its hosting policies. Some of the tools I found around to do so, was either not mantained anymore or not fast/simple enought.


npm install -g theros


npm run test


You need to have your AWS account credentials: Access Key and Client Secret.

If you don't have it, check how to get your AWS security credentials.


This command create a bucket pointing to index.html as the default root page, and 404.html as the default error page.

theros create --bucket <bucket_name> --key <access_key> --secret <client_secret>

To create a bucket in a specific region (default is us-east-1), you can use --region parameter:

theros create --bucket <bucket_name> --key <access_key> --secret <client_secret> --region <availability_zone>

To define custom index and/or error page (default is index.html and error.html), you can use --index and --error parameters:

theros create --bucket <bucket_name> --key <access_key> --secret <client_secret> --index <customindex.html> --error <customerror.html>


Then you can deploy your site:

theros deploy --bucket <bucket_name> --key <access_key> --secret <client_secret>

If your files are in a different folder, you can use --root parameter:

theros deploy --bucket <bucket_name> --key <access_key> --secret <client_secret> --root /user/folder

If you want to ignore files, that is, do not deploy them, you can use --ignore parameter:

theros deploy --bucket <bucket_name> --key <access_key> --secret <client_secret> --ignore 404.html,403.html



You can’t perform that action at this time.