publish.my

Docs / What you can host

What you can host

publish.my serves static sites — anything that runs in the browser from plain files. Here's exactly what you can upload, and the few rules that apply.

Static files only

Your site is served as-is from fast static storage. There's no server-side code at request time — no PHP, no Node/Python servers, no databases, and no SSR (Next.js, Nuxt, or SvelteKit in server mode won't run). If a file type isn't a browser asset, it simply won't do anything on our side.

Built with a framework? That's fine — build it to static HTML first and publish the output folder (the one with index.html at its root):

FrameworkBuildPublish
Next.jsoutput: 'export' + next buildout/
SvelteKit@sveltejs/adapter-staticbuild/
Nuxtnuxt generate.output/public/
Astroastro builddist/
Vitenpm run builddist/
Create React Appnpm run buildbuild/

Allowed file types

These extensions are published; anything else is skipped (see below).

CategoryExtensions
Webhtml css js mjs json txt csv xml webmanifest map
Imagespng jpg jpeg webp svg gif ico avif
Video & audiomp4 webm mov mp3 wav ogg m4a
Fontswoff woff2 ttf otf
Documentspdf

The index.html rule

The folder you publish must have a file named exactly index.html at its top level — that's your homepage. The most common error is packing a framework's source folder instead of its built output; if there's no top-level index.html, the deploy is rejected with a message naming the likely framework and fix.

Disallowed files are skipped, not fatal A stray file of an unsupported type (say a .psd, a .zip inside your folder, or a .DS_Store) is dropped with a warning — the rest of your site still publishes. Symlinks are skipped too. Only unsafe paths (.. traversal, absolute paths) cause a hard rejection.

How you publish it

An AI agent can publish for you (paste "Publish this project with https://publish.my"), or you can do it yourself in the browser at publish.my/upload — paste your HTML or drop a .zip. Either way the allowed types and limits above are the same.