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
- An Eyevinn Open Source Cloud account (any plan)
Accessing My Pages
Navigate to My Pages in the OSC web console. The tab is in the top-level navigation bar.
Creating a Site
- Click New page
- 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) - Drag and drop your files into the upload area (or click to browse). Supports any file type.
- 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:
- Click the Update button on the site's row in the My Pages list
- Drop in the new set of files
- 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-createto front the site with a CDN. That workflow has been replaced by My Pages and no longer applies toweb 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:
create-my-pagereserves the subdomainupload-my-page-filesuploads base64-encoded file contentpublish-my-pagemakes 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.ioURL) - 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.
Related Resources
- Developer Guide: Hosting a static website: CLI publishing walkthrough and the MinIO-based alternative
- User Guide: OSC CLI: installing and authenticating the CLI
- User Guide: Enable OSC with AI agents: connecting Claude Code, Cursor, and other MCP clients