Skip to content
LibreMemorial

How it works

A memorial that is cheap to run, hard to lose, and yours to keep

There is no clever trick here — just a deliberately boring design. Plain files, a Git repository, and a static site. That combination is what makes it free, durable and easy to move somewhere else if you ever want to.

How it works

Four steps, and most of them are just remembering

  1. 1

    Start with their name

    Type their name, the years they lived, and a line that says something true about them. That is enough for a page — you can add the rest later, together.

  2. 2

    Add photos and memories

    Drag in photographs straight from your phone and paste in the stories people tell. Every addition is its own file, so the page grows piece by piece.

  3. 3

    Share the link and the QR code

    Send the link to family, or download the QR card and have it printed for the service. Anyone who scans it lands on the memorial, no app required.

  4. 4

    Keep the edit link safe

    You get one secret link that lets you change anything later — no account, no password to forget. Save it with the family photos.

Questions families ask

Do I need an account?

No. Creating a memorial gives you a secret edit link. Keep it somewhere safe and that link is your key to the page forever. There is nothing to sign up for and no password to reset.

What does it actually cost?

Nothing. The whole site is static files served from a free Cloudflare plan, and memorial content is stored as files in a Git repository. Running costs are close to zero, and the project is open source so it can outlive any one person's hosting bill.

Can someone else edit the page?

Yes — share the edit link with whoever should have access. Anyone with that link can add photos and stories. Treat it like a house key: give it only to people you trust.

Where are the photos and stories kept?

In a Git repository, as ordinary folders and files. Every edit is a versioned commit, which means nothing is ever silently lost and you can always get the original files back.

Can I add a donation link?

Yes. Add any GoFundMe, charity or fundraising link to the page. LibreMemorial never processes payments and never takes a percentage.

What happens if I lose the edit link?

The page stays online and public — you simply cannot edit it until someone restores access. Keep two copies, and consider sharing it with one other family member.

Under the hood

What happens when someone adds a photograph

Five steps, none of them expensive, and the result is a page that loads quickly even on a phone with a poor connection at the cemetery.

  1. Step 1

    You add a photo

    Pick a photo from your phone in the editor. It never leaves your device untouched.

  2. Step 2

    Your browser shrinks it

    Before uploading, the image is resized to a sensible maximum and re-encoded as WebP or JPEG — often less than a tenth of the original size.

  3. Step 3

    It becomes a commit

    A Cloudflare Function writes the file into the memorial's folder in a Git repository and commits it. The old version stays in history.

  4. Step 4

    Astro rebuilds the page

    The push triggers a build. Astro generates several sizes of every photo in modern formats and hashes each file name for caching.

  5. Step 5

    The CDN serves it

    The finished page is plain HTML and images on a global CDN. No database, no server to keep warm, no monthly bill to fear.

Straight answers

Where does my content actually live?

As ordinary files in a Git repository: one JSON file per memorial, a folder of photos and one small file per story. Nothing is locked in a proprietary database, and you can clone the whole thing at any time.

How do people edit a page without accounts?

Creating a memorial generates a secret edit key. Only a hash of that key is stored in the repository, and the edit link carries the key in the URL fragment, which is never sent to a server. Give the link to family members you trust, and they can edit; nobody else can.

Could I use a CMS like Pages CMS instead?

You can, and the content layout is deliberately CMS-friendly. The catch is access control: Pages CMS edits through GitHub, so every family member would need a GitHub account with write access to the repository. The edit-key flow exists precisely so a grandmother can add a photo without anyone creating an account or being granted repository access.

Why does this stay free?

Static files plus a Git repository are the cheapest possible architecture. Hosting fits comfortably inside free tiers, and image optimisation keeps storage small. There is no per-visitor cost to pass on to families, so there is nothing to charge for.

Can we host it ourselves?

Yes — that is the point. Fork the repository, connect it to your own Cloudflare account, set a GitHub token, and you have your own independent memorial site. Nothing about the project depends on one operator.

Does the QR code expire?

No. The code simply encodes a normal web address, generated in your browser. As long as the site is online the code works — and you can print it today without paying anything to anyone.

Run your own copy

The whole project is MIT licensed. Fork it, connect it to your own Cloudflare account, and you can host memorial pages for your community — or just keep a private copy as a backup.

  1. 1. Fork https://github.com/mrozyyev/libre-memorial
  2. 2. Create a Cloudflare Pages project from the fork and set the build command to npm run build.
  3. 3. Add GITHUB_TOKEN (a fine-grained token with contents write access) and GITHUB_REPO as environment variables.
  4. 4. Optionally set TURNSTILE_SECRET to add a free bot check to the creation form.

Two environment variables and a fork. That is the entire deployment.

# the repository is the database

src/content/memorials/

└── maria-popescu/

    ├── memorial.json

    ├── photos/

    │   ├── portrait.jpg

    │   └── 1.jpg

    └── stories/

        └── the-accordion-years.json

# every edit is a commit

$ git log --oneline

a1f9c2e Add a memory to Maria Popescu

7d31b40 Add photo to Maria Popescu

2c88e01 Add memorial page for Maria Popescu

Start their memorial today

It takes a couple of minutes, costs nothing, and you will have a link and a QR code you can share before the day is over.