Re: [ANN] mote - Lightweight HTTP server with routing and middleware

184 views
Skip to first unread message

Michael Lenaghan

unread,
Jan 27, 2026, 1:38:06 PM (8 days ago) Jan 27
to lu...@googlegroups.com
Excellent!

On Jan 27, 2026 at 9:22:10 AM, Papuna Gagnidze <papu...@gmail.com> wrote:
Hi everyone,

I've released mote, a standalone HTTP server library for Lua/LuaJIT. It started as the core of a BaaS project I was building and I decided to extract it into a standalone library.

It has Koa-style routing with URL params, onion middleware, and built-in support for CORS, JWT, rate limiting, and Server-Sent Events with pub/sub. Runs on Linux, macOS, and Windows.

```lua
local mote = require("mote")

mote.get("/users/:id", function(ctx)
    ctx.response.body = { id = ctx.params.id }
end)

mote.create({ port = 8080 }):run()
```

`luarocks install mote`

https://github.com/luanvil/mote

I'd love to hear what you think.

--
You received this message because you are subscribed to the Google Groups "lua-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lua-l+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/lua-l/409238ec-74d8-4f67-9259-35616762f7abn%40googlegroups.com.

Marc Balmer

unread,
Jan 27, 2026, 1:45:05 PM (8 days ago) Jan 27
to lu...@googlegroups.com, lu...@googlegroups.com
This cought my eye:

 Works with Lua 5.1–5.4. LuaJIT recommended for performance”

So it doesn’t even support current Lua. What a shame.


Am 27.01.2026 um 19:38 schrieb Michael Lenaghan <mich...@dazzit.com>:



Papuna Gagnidze

unread,
Jan 27, 2026, 1:58:12 PM (8 days ago) Jan 27
to lua-l
Hi Marc,

Thanks for the feedback. I haven't tested it on 5.5 yet, but I'll update the README once I verify it.

Thanks Michael, glad you find it useful.

I deleted the original post to fix formatting issues, not realizing the emails had already been sent. We can continue the discussion here regardless.

Rett Berg

unread,
Jan 27, 2026, 7:18:57 PM (7 days ago) Jan 27
to lua-l
So it doesn’t even support current Lua. What a shame.

Is this a joke? If so, it was not obvious.

To author: 5.5 was released all of a few weeks ago, there is no expectation you would have tested it yet.

Stefano

unread,
Jan 30, 2026, 7:01:13 PM (4 days ago) Jan 30
to lua-l
Thank you for this work. I was looking for a modern, robust, and lightweight Web framework in Lua a few month ago, and the best I could find was Pegasus, which gets the job done, albeit with many limitations. It feels to me that such framework, ideally one that keeps in line with the minimalist philosophy of Lua but provides some useful tools such as routing and header, cookie, etc. handling, is one major missing component from the Lua ecosystem.

I also see another recent thread about "Crescent framework" but that project seems to have a much broader scope, so if both projects were successful, it would be really nice if they kept separate goals. 

I will definitely take a serious look at this further down my development.
s

Pierre Chapuis

unread,
Jan 31, 2026, 5:48:05 AM (4 days ago) Jan 31
to lu...@googlegroups.com
Currently, I use https://redbean.dev/. It has the big advantage of being designed to distribute as a single, portable binary.

mote looks really good though, I especially like that it has SSE built-in. I will probably try it sometime soon.

-- 
Pierre Chapuis

Daniel TFS

unread,
Jan 31, 2026, 1:06:29 PM (4 days ago) Jan 31
to lua-l
Wow! 
It's great to see that I'm not the only one working on creating a modern Lua web framework!

This is my project that I've been working on for a while: Crescent Framework

It already has many features, but it lacks some testing. 

Good luck and good work!

Pierre Chapuis

unread,
Feb 1, 2026, 4:32:13 AM (3 days ago) Feb 1
to lu...@googlegroups.com
I have migrated one of my personal applications to mote, it works really well and I intend to keep using it.

I have hit a problem with HTTP forms processing, I have opened a PR for this: https://github.com/luanvil/mote/pull/1/changes

-- 
Pierre Chapuis

Papuna Gagnidze

unread,
Feb 1, 2026, 8:01:34 AM (3 days ago) Feb 1
to lua-l
Thanks everyone for the interest and feedback.

Stefano, my goal is to keep mote minimal with well-defined features to avoid feature creep.

Pierre, really appreciate you trying it on a real project and taking the time to contribute. If you want single portable binaries, check out https://github.com/luanvil/luast. It has built-in support for mote and can cross-compile to Linux/macOS/Windows.

Daniel, good to see more activity in this space. Would you be interested in collaborating? Mote could serve as the HTTP server layer while Crescent adds higher-level features on top (ORM, views, etc.). Just a thought if you're open to it.

Björn Buckwalter

unread,
Feb 3, 2026, 1:32:52 PM (12 hours ago) Feb 3
to lua-l
Hi Pierre, 

I would be interested in knowing if you migrated this application from redbean and if so why? The SSE, just out of curiosity to try mote, or other reasons? Also, any other general comments on the differences in your experience are welcome. I rely a fair bit on redbean (although not currently for web) and the convenience of the single file APE, but am not a fan of some of the gratuitous changes to lua (see https://github.com/jart/cosmopolitan/issues/1456).

Thanks,
Bjorn Buckwalter

Pierre Chapuis

unread,
Feb 3, 2026, 3:02:51 PM (11 hours ago) Feb 3
to lu...@googlegroups.com
Hello Björn,

the application in question is some kind of personal homepage that I only run on Linux, I did not really need Redbean for it. I also prefer the API of mote, I use Teal and it is easier to type properly. Also yes, standard Lua is a bonus, plus it makes it easier to develop with hot reloading.

So yes I ended up migrating this specific app to mote, even though initially I just did it out of curiosity. But I would probably still use Redbean if I need the APE.

Best.

-- 
Pierre Chapuis
Reply all
Reply to author
Forward
0 new messages