Rewrite the backend in Go #4

Closed
opened 2026-08-25 11:34:12 +00:00 by uwayss · 0 comments
Owner

The image is 305 MB and most of it is the Node runtime. A Go binary with the static frontend is about 25 MB, and it cross-compiles from an arm64 laptop in seconds.

  • Do #2 first. There is nothing else to prove the rewrite against.
  • Use modernc.org/sqlite. A cgo driver needs a C cross-compiler and removes the reason to do this.
  • Keep the routes and the data/ layout, so the database and the assets carry over.

The deploy pipeline needs no change. It only calls docker build and docker compose.

The image is 305 MB and most of it is the Node runtime. A Go binary with the static frontend is about 25 MB, and it cross-compiles from an arm64 laptop in seconds. - [ ] Do #2 first. There is nothing else to prove the rewrite against. - [ ] Use `modernc.org/sqlite`. A cgo driver needs a C cross-compiler and removes the reason to do this. - [ ] Keep the routes and the `data/` layout, so the database and the assets carry over. The deploy pipeline needs no change. It only calls `docker build` and `docker compose`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
uwayss/bareed#4
No description provided.