Put your wall online
What you downloaded is a whole website in a zip. Put it somewhere that serves files and you have a link to send people — free, and about five minutes. No coding, no server to look after.
1What you have
The zip holds a whole website: index.html, a photos folder, a fonts folder and a few small files. Two of the hosts below take that zip exactly as it is. The other two want the folder inside it, so unzip it first — each one says which.
When a host asks for the folder, upload the contents, so index.html sits at the top level. Uploading the folder that contains it is the most common mistake of the lot: you get a 404 and the photographs look missing.
2Pick a place to put it
The first three are free. If you are not sure, take the first one.
Cloudflare Pages, by drag and drop
- Make a free account at dash.cloudflare.com. No card, no payment details.
- In the sidebar choose Workers & Pages, then Create, then Pages, then Upload assets.
- Give the project a name. That name becomes your address:
my-wall.pages.dev. - Drag the zip onto the upload box, or the unzipped folder — both work. Or click to select it.
- Press Deploy. The next screen shows your link — that is the wall, live.
Updating it later: build the wall again in the app, then upload the new zip the same way. Each upload becomes a new version, and the previous one is kept until you delete it, so a mistake is easy to undo.
Their own guide: Upload your static files.
Netlify Drop, no account to start
- Open app.netlify.com/drop.
- Drag the zip onto the page. A folder works too — their own wording is "a folder, zip file, or single HTML file".
- It uploads and hands you a link straight away, something like
sunny-cake-1a2b3c.netlify.app. - Sign in — it is free — to claim the site and keep it. An unclaimed drop is temporary, and you can rename it once you are signed in.
The same drag-and-drop lives in their dashboard, so the second upload is just as quick.
Their own documentation: Deploy overview.
GitHub Pages
- Make a free GitHub account, then create a new public repository. Its name becomes part of the address.
- Unzip the download. On the empty repository page choose uploading an existing file, then drag in the contents of that folder —
index.htmlmust land at the top level, not inside a subfolder — and commit. - In the repository: Settings → Pages → Source: Deploy from a branch, branch
main, folder/ (root). Save. - Wait a minute or two. The wall appears at
https://your-username.github.io/your-repository/.
Updating it later: upload the changed files the same way. Uploading adds and replaces by name, so a photograph you replaced keeps the same name and overwrites the old one.
Uploading a few hundred photographs through a web form is slow, and GitHub has a soft limit per upload. For a big wall, use one of the drag-and-drop hosts above, or copy the folder with git.
Their own guide: Creating a GitHub Pages site.
Your own server
Put it in your web root using whatever you already use — FTP, SFTP, your host's file manager, rsync, or unzipping it there over SSH:
rsync -av --delete dist/ you@your-server:/var/www/your-wall/
Nothing else is needed: no PHP, no database, nothing to install. Every link in the wall is relative, so a subfolder is as good as a domain root — https://example.com/photos/ is fine.
Your own domain (optional)
The three hosts above can serve the wall on a domain you already own — usually a field in their dashboard, plus one DNS record they tell you to add. Their certificates are automatic and take a few minutes.
If you already know the address, put it in the app before you build, under More settings → Address. Two things are written into the page at build time and cannot be fixed afterwards without rebuilding: the preview picture when someone shares the link, and the canonical link search engines read.
Added the domain later anyway? Nothing breaks. Edit and rebuild with the address filled in, then upload the new folder, if you want those two to point at the right place.
If something goes wrong
- The type looks like a plain system font. The
fontsfolder did not make it. Upload the contents of the zip, not the folder that contains it. - A 404, or a page with no wall on it.
index.htmlhas to sit at the top level of what you uploaded. - A 404 right after adding your own domain. The certificate is still being issued. Give it a few minutes and reload.
- No picture when the link is shared. The address was not set before the build — see above.
- Some photographs are missing. The app told you which ones it skipped before you downloaded; an iPhone HEIC needs exporting as JPG first, and the other formats the app takes are JPG, PNG, WebP and GIF.
- The wall feels heavy on a phone. A few hundred photographs is the comfortable range for building in a browser — past that, the build itself gets slow, especially on a phone. Edit and rebuild with a smaller gallery size under More settings and it will also load faster.
Nothing to maintain
The wall is static: no updates, no plugins, nothing that can be hacked or needs patching. When you add photographs, build it again in the app and upload the new folder.
The zip carries your settings — title, description, address, the photographer card. Drop last build's folder in with the new pictures and everything comes back, so you are never filling the form in twice.
Built the wall with the command line instead? The repository's own manual covers the Git workflow files, server shapes and the rest: docs/HOSTING.md.
Powered by Keret — self-host it, run the CLI, or point an AI agent at it. GitHub