My Pages

My Pages lets you host static websites on OSC with each site getting its own subdomain at {name}.pages.osaas.io. No bucket configuration, no CDN setup, just upload your files and they are live.

Prerequisites

Accessing My Pages

Navigate to My Pages in the OSC web console. The tab is in the top-level navigation bar.

Creating a Site

  1. Click New page
  2. Enter a name. The name becomes the subdomain (your-name.pages.osaas.io), so it must be 3 to 52 characters, lowercase letters, digits, and hyphens only, and must start and end with a letter or digit (no leading or trailing hyphen)
  3. Drag and drop your files into the upload area (or click to browse). Supports any file type.
  4. Click Publish to upload the files and make the site live

Site names are unique across all of OSC, not just your own workspace, so a name may already be taken by another tenant.

The site is available at https://{name}.pages.osaas.io immediately after publishing.

Updating an Existing Site

To replace the content of a live site:

  1. Click the Update button on the site's row in the My Pages list
  2. Drop in the new set of files
  3. Click Publish

The update flow performs a manifest diff: files in your new upload that already exist with the same name are skipped, new files are uploaded, and files no longer in the manifest are pruned. This keeps the site consistent with exactly the files you uploaded, so no stale assets are left behind.

For very large sites (over 5 000 files or 512 KiB of filenames), the manifest prune is skipped automatically to stay within platform limits. New and changed files are still uploaded.

Deleting a Site

Click the trash icon on the site's row and confirm. This removes all uploaded files and releases the subdomain so another workspace can claim the name.

Publishing via the OSC CLI

The OSC CLI publishes directly to My Pages:

npx @osaas/cli@latest web publish <name> <dir>

For example, to publish a React build:

npx @osaas/cli@latest web publish myapp build/
Website published at: https://myapp.pages.osaas.io/
Note: My Pages does not provision a dedicated storage bucket for your site,
so 'osc web cdn-create' cannot be pointed at it. Custom domains/CDN in front
of a My Pages site are not yet supported.

The command creates the page (if it does not exist yet), uploads every file in <dir>, and publishes the site in one step. Running it again against an existing page name republishes the same site with the new contents of <dir>.

Note: Earlier CLI versions provisioned a dedicated storage bucket per site and printed an Origin/Origin Path block for chaining into osc web cdn-create to front the site with a CDN. That workflow has been replaced by My Pages and no longer applies to web publish.

Managing Sites via AI Agent (MCP)

All My Pages operations are available as MCP tools when you connect an AI assistant to OSC.

List your sites:

List my static sites

Create and publish a site:

Create a static site called my-docs and publish these files to it: index.html, styles.css

The agent uses a three-step flow:

  1. create-my-page reserves the subdomain
  2. upload-my-page-files uploads base64-encoded file content
  3. publish-my-page makes the site live

Publish with full prune (replace all files):

Republish my-docs with these files and remove anything not in this list

Pass the complete file list and prune: true to the publish-my-page tool.

Update an existing site (re-upload files):

Update my-docs with the new index.html

The agent uploads only changed files and publishes with manifest diffing.

Delete a site:

Delete my static site called my-docs

URL Patterns

Pattern Description
https://{name}.pages.osaas.io/ Root, serves index.html
https://{name}.pages.osaas.io/path/ Directory, serves path/index.html
https://{name}.pages.osaas.io/path/file.ext Direct file path

Directory URL resolution is enabled automatically on publish, so /docs/ serves docs/index.html without a redirect.

Current Limitations

My Pages is a v1 release. The following are not yet supported:

  • Custom domains and CDN in front of a site (a page is only reachable on its *.pages.osaas.io URL)
  • SPA history-mode fallback (a client-side router path with no matching file returns 404 rather than falling back to index.html)
  • Custom HTTP headers
  • Redirect rules
  • Per-site cache-control tuning

If you need any of these today, use the MinIO-based approach described in Developer Guide: Hosting a static website.