keret.app

← Back to the wall builder

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

  1. Make a free account at dash.cloudflare.com. No card, no payment details.
  2. In the sidebar choose Workers & Pages, then Create, then Pages, then Upload assets.
  3. Give the project a name. That name becomes your address: my-wall.pages.dev.
  4. Drag the zip onto the upload box, or the unzipped folder — both work. Or click to select it.
  5. 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

  1. Open app.netlify.com/drop.
  2. Drag the zip onto the page. A folder works too — their own wording is "a folder, zip file, or single HTML file".
  3. It uploads and hands you a link straight away, something like sunny-cake-1a2b3c.netlify.app.
  4. 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

  1. Make a free GitHub account, then create a new public repository. Its name becomes part of the address.
  2. Unzip the download. On the empty repository page choose uploading an existing file, then drag in the contents of that folder — index.html must land at the top level, not inside a subfolder — and commit.
  3. In the repository: Settings → Pages → Source: Deploy from a branch, branch main, folder / (root). Save.
  4. 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

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.

Build another wall

Powered by Keret — self-host it, run the CLI, or point an AI agent at it. GitHub