1
0
Fork
You've already forked mandu
0
Gleam frontend to the Mealie recipe manager
  • Gleam 88.2%
  • CSS 8%
  • JavaScript 3.1%
  • HTML 0.4%
  • Makefile 0.3%
2026年06月19日 16:54:50 +02:00
.assets fix step->ingredient refs, upgrade glaze_oat 2026年03月28日 11:14:52 +01:00
public add split button helper, use it in view recipe 2026年04月26日 18:28:09 +02:00
src search: load more results 2026年06月19日 16:54:50 +02:00
test upgrade deps 2026年06月19日 16:13:28 +02:00
.gitignore view-recipe improvements, deploy make target 2026年03月21日 18:42:28 +01:00
gleam.toml upgrade deps 2026年06月19日 16:13:28 +02:00
index.html cook: keep screen up 2026年05月24日 16:25:03 +02:00
LICENSE edit: display ingredient list, add and delete 2026年03月23日 21:48:19 +01:00
Makefile retrieve and display recipe comments, add nested json todo item 2026年04月14日 17:05:52 +02:00
manifest.toml upgrade deps 2026年06月19日 16:13:28 +02:00
package-lock.json use console.log instead of echo 2026年03月30日 18:56:16 +02:00
package.json use console.log instead of echo 2026年03月30日 18:56:16 +02:00
README.md upgrade deps 2026年06月19日 16:13:28 +02:00
vite.config.mjs split js bundle 2026年03月30日 22:01:55 +02:00

Logo of the project: a pink mandu with happy eyes and rose cheeks

Mandu

A Gleam frontend for the Mealie recipe manager

Original image by freepik

Mandu is a custom frontend for the Mealie recipe manager, built with Gleam and Lustre with the long-term goal of replacing the backend once the frontend is stable. It is:

  • a fun side-project to learn Gleam and Lustre: code quality will need improving
  • licensed under the EUPL: it's compatibility clause allows reuse of parts of this codebase into projects with compatible copyleft licenses
  • not a feature-complete frontend: only a subset of Mealie's features will be implemented to keep the interface simple. New features will be experimented with.
  • not an open-contribution project: issues and PRs are disabled, but feel free to send feedback and ideas by email or Fediverse.

Screenshot of the recipe search interface Screenshot of the recipe search interface Screenshot of the recipe edition interface Screenshot of the recipe edition interface

How to run

Run it locally

  • make run will start a Vite dev server that proxies to https://demo.mealie.io, for easy testing
  • To use your own Mealie instance, create a .env file and set the VITE_MEALIE_HOST variable

Deploy it on a server

  • Run make build and copy the contents of dist/ on your server
  • Then, setup your web server to proxy the /api/* subpath to your Mealie server and serve the static files. Here is an example Caddy configuration:
my.subdomain.example {
 handle /api/* {
 reverse_proxy 127.0.0.1:9432 { # Optional header, to enable "Open in Mealie" links
 header_down X-Backend-Url https://external.mealie.address
 }
 }
 handle {
 root * /path/to/the/mandu/build
 route {
 try_files {path} /index.html
 header /index.html Cache-Control "public, max-age=0, must-revalidate"
 }
 file_server
 }
}