Learn how to host a static site on Linode Object Storage with s3cmd, upload files, set permissions, and configure your custom domain easily. Our Linode Live Support Team is always here to help you.

How to Host a Static Site on Linode Object Storage in Minutes

Building a static website doesn’t have to be complex or expensive. With Linode Object Storage static site hosting, you can serve your HTML, CSS, and JavaScript files directly from the cloud—no web server needed. It’s fast, reliable, and perfect for developers who just want their site live without endless setup.

Let’s go through how you can get your Linode Object Storage static site up and running from start to finish.

linode object storage static site

Create Your Object Storage Bucket

Begin by creating a new Object Storage bucket in the Linode Cloud Manager or via Linode’s API. This will hold all your site files. Remember, each bucket name must be unique within its cluster.

You can also use the command line for this. Simply prepend s3:// to your bucket’s name:

s3cmd mb s3://my-bucket

Note: Buckets must have unique names within the Object Storage cluster. For example, clusters like us-east-1.linodeobjects.com, ap-south-1.linodeobjects.com, or eu-central-1.linodeobjects.com each host unique bucket names.

Initialize Your Bucket as a Website

Next, you’ll define which files act as your index and error pages using –ws-index and –ws-error.

s3cmd ws-create --ws-index=index.html --ws-error=404.html s3://my-bucket

Once this runs successfully, you’ll see:

Bucket 's3://my-bucket/': website configuration created.

To view your configuration and get your site’s public URL, run:

s3cmd ws-info s3://my-bucket

The output should look something like this:

Bucket s3://my-bucket/: Website configuration
Website endpoint: http://my-bucket.website-us-east-1.linodeobjects.com/
Index document: index.html
Error document: 404.html

If your endpoint still shows something like http://my-bucket.s3-website-default.amazonaws.com/, edit your .s3cfg file and replace the line for website_endpoint with:

Launch Your Static Site Today!

Chat animation


File: .s3cfg

website_endpoint = http://%(bucket)s.website-us-east-1.linodeobjects.com

Be sure to adjust us-east-1 to match your bucket’s actual region.

Note: Linode Object Storage comes with SSL enabled, so you can use https to access your static site securely.

Upload Your Website Files

Before uploading, ensure you have your Object Storage access key and secret key set up, and that the s3cmd tool is installed.

Move to your website’s root directory and run the following command:

s3cmd --no-mime-magic --acl-public --delete-removed --delete-after sync public/ s3://my-bucket
Option details:
  • –no-mime-magic – Prevents MIME-type guessing based on file signatures.
  • –acl-public – Makes the files publicly readable.
  • –delete-removed –  Removes files from the bucket that don’t exist locally.
  • –delete-after – Deletes outdated files after upload completion.

After this, open your Object Storage URL in a browser, and you’ll see your live static site. It might take a minute or two to appear, so don’t worry if it doesn’t load instantly.

Connect a Custom Domain

To make your Linode Object Storage static site more professional, set up a custom domain. You can do this by adding a CNAME record in your DNS settings, pointing your domain to your bucket’s website endpoint. Once the DNS propagates, your domain will display your static site.

Why Choose Linode Object Storage for Static Sites

  • Scalable: Handles high traffic effortlessly.
  • Affordable: You only pay for what you use.
  • Simple: No servers to manage or configure.

Conclusion

Hosting this site is one of the easiest ways to get your website online quickly. Upload, set your permissions, connect your domain, and you’re done. Fast, reliable, and efficient—exactly what a modern static website should be.