Back

Blog details

Static Website Hosting on AIOZ Storage: Full Setup Guide

AIOZ Network
4 min readSeptember 25, 2026
aioz-storage
Laptop displaying code on screen in a workspace

Static website hosting on AIOZ Storage turns a regular bucket into a live, publicly reachable website, no separate hosting account, no server to manage, just a bucket with a folder of HTML, CSS, JS, images, and a couple of settings flipped on. It's a genuine, documented AIOZ Storage feature, not a workaround, and it comes with real custom-domain support, DNS verification records and all, not just a default subdomain. Here's the full setup, start to finish.

TL;DR:

  • Enable static website hosting on any bucket, set an Index Document (defaults to index.html), and configure error handling, either AIOZ's default error page or a custom document with optional per-status pages.
  • The site goes live at https://.sites.aiozstorage.app immediately, bucket names can't contain dots, that breaks SSL certificate matching.
  • A custom domain gets verified with two DNS records, a CNAME for ownership and an A record for resolution, both added at your DNS provider, then confirmed with a second "Verify" click.
  • Cloudflare users need to set the domain's proxy status to "DNS Only" (grey cloud), a proxied (orange cloud) record blocks AIOZ from detecting the verification records.

Step 1: Create the Bucket

Sign into AIOZ Storage, go to the Buckets tab, and click New Bucket. If you already know you're hosting a specific domain, naming the bucket after it (example-com rather than example.com, since bucket names can't contain dots) keeps things organized, but it isn't required. Save the bucket passphrase somewhere secure the moment it's generated: AIOZ doesn't store bucket passphrases, so losing it means losing access to the bucket, not a recoverable password reset.

Step 2: Turn On Static Website Hosting

Open the bucket, enter its passphrase, and enable Static Website hosting from the bucket's settings. Two things need deciding here:

  • Index Document, the file served when someone requests a directory rather than a specific file, defaults to index.html but can be renamed if your build outputs something else.
  • Error handling, either AIOZ's default error page, or a custom error document you provide, with the option to add specific pages per HTTP status code (400, 401, 500, and so on) rather than one generic fallback for everything.

If the site is a single-page application with client-side routing, the practical move is to serve the Index Document on deep links too, so the client router handles rendering, and reserve the Error Document for genuine 404s, requests that don't correspond to any route your app defines at all.

Step 3: Upload the Site and Check the Default URL

Upload the built site, HTML, CSS, JS, images, whatever the build produces, into the bucket the same way any other object goes in. Once static hosting is enabled, the site is reachable immediately at:

https://<bucket>.sites.aiozstorage.app

That subdomain works out of the box with no DNS configuration needed, useful for checking the site actually renders correctly before pointing a real domain at it.

Step 4: Connect a Custom Domain

From the website's settings, open Custom Domain, enter the domain you want to use (www.yourdomain.com, for example), and click Verify. AIOZ generates two DNS records to add at your domain's DNS provider:

  • A CNAME record, proving ownership of the domain
  • An A record, handling actual DNS resolution to AIOZ's hosting

Add both records, then go back and click Verify again. AIOZ checks for the records and, once found, the domain's status changes to Verified and then Active.

The one gotcha worth knowing before you start: if the domain is on Cloudflare, its proxy status needs to be set to DNS Only (the grey cloud icon), not the default proxied mode (orange cloud). A proxied record hides the actual DNS records behind Cloudflare's own IPs, which blocks AIOZ from detecting the verification records at all, verification will silently fail to progress until the proxy is turned off for that record.

What This Is Good For

This isn't a general-purpose web host, there's no server-side code execution, no database, just static files served from a bucket. That's exactly the right fit for a marketing site, a documentation site, a single-page app that calls external APIs from the client, or a landing page, anything where the "backend" is really just static assets and maybe some client-side JavaScript. For anything that needs actual server-side logic, this bucket can still serve as the static frontend while an API lives somewhere else entirely.

Frequently Asked Questions

How do I host a static website on AIOZ Storage?
Create a bucket, enable Static Website hosting in its settings, set an Index Document and error handling, then upload your site's files. It's live immediately at https://.sites.aiozstorage.app.

Can I use a custom domain with AIOZ Storage static hosting?
Yes. Open Custom Domain in the website's settings, enter your domain, and verify it with a CNAME record (ownership) and an A record (resolution) added at your DNS provider.

Why can't my bucket name contain dots?
SSL certificates for the default *.sites.aiozstorage.app subdomain can't correctly match a bucket name containing dots, so bucket names are restricted to avoid that conflict.

Why isn't my Cloudflare-hosted domain verifying?
Cloudflare's default proxied mode (orange cloud) hides your actual DNS records behind Cloudflare's own IPs, which blocks AIOZ from detecting the verification records. Switch the record to DNS Only (grey cloud) before verifying.

Does static website hosting support single-page applications?
Yes, with one adjustment: serve the Index Document on deep links as well so your client-side router can render the page, and reserve the Error Document for requests that genuinely don't match any route.

What can't this feature do?
There's no server-side code execution or database, only static file serving. Anything needing real backend logic needs to live elsewhere, with this bucket serving the static frontend.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

AIOZ Storage Super Intelligence Memory: Record and Recall

AIOZ Storage Super Intelligence Memory gives AI agents memory: Record a statement, Recall it by meaning, with no embeddings or vector index to manage yourself.

aioz-storage
7 min readSeptember 29, 2026
blog thumbnail

Static Website Hosting on AIOZ Storage: Full Setup Guide

Static website hosting on AIOZ Storage turns any bucket into a live site with a custom domain. Here is the full setup, from bucket to DNS verification.

aioz-storage
4 min readSeptember 25, 2026
blog thumbnail

What Is an Embedding Model? How AI Turns Text Into Vectors

An embedding model turns text, images, or audio into vectors so similar meanings land close together in space. Here is how embedding models actually work.

aioz-storage
5 min readSeptember 24, 2026
blog thumbnail

What Is Retrieval-Augmented Generation (RAG)? Explained

Retrieval-augmented generation (RAG) grounds an LLM answer in your own data, not its training set. Here is how the retrieval and generation steps work.

aioz-storage
5 min readSeptember 22, 2026
blog thumbnail

How to Build an MCP Server for AIOZ Storage, Step by Step

AIOZ Storage has no official MCP server yet. Here is a working MCP server for AIOZ Storage, built with the official Python SDK and boto3, tools included.

aioz-storage
6 min readSeptember 19, 2026
blog thumbnail

What Is an MCP Server? How AI Agents Access Storage

What is an MCP server: a standard letting AI agents like Claude use tools and data through one protocol. How MinIO and Azure apply it to object storage.

aioz-storage
6 min readSeptember 16, 2026