Milkmilk.rs is a crate for bootstrapping Rust web service applications quickly and provides premade routes for you to work with so you don't have to keep making the same 5-6 routes.
This crate will also automatically generate a base Dockerfile for you so that you can deploy quickly.
Currently, only Next.js is supported due to being able to provide easy SSR. Other front ends may get added on in the future.
Axum is the only Rust web framework supported at the moment, but more may be added depending on demand/.
You'll want Rust installed, as well as Node if you want to use a front end. You will also probably want Docker if you plan on deploying to a webservice that requires Docker image deployment.
Simply install milkmilk with this command:
cargo install milkmilk
Now all you have to do is use milkmilk like so!
mkmk start
Do you only need a backend? You can also do that:
mkmk backend
Once you're done, you will probably want to do the following things before anything else:
-
Set up your migrations (currently this app bootstraps with
SQLx
so you'll want to usesqlx-cli
to get started). -
Make sure everything else you need is in order, like Nginx or any other alternative forms of storage you might need.
Then you can get started! It's as easy as that. The default database URL set in the .env will be a localhost Postgres database on default connection settings.
Currently the default command sets up a Dockerfile so that you can deploy to a Docker image. However, you can also bootstrap a shuttle app by simply adding the --shuttle
flag like so:
mkmk start --shuttle
You can also do this with backend-only starts:
mkmk backend --shuttle
You can find me at my twitter.