Welcome to Loco 🚋
Loco is a web and API framework running on Rust.
This is the SaaS starter which includes a User model and authentication based on JWT.
It also include configuration sections that help you pick either a frontend or a server-side template set up for your fullstack server.
Quick Start
cargo loco start
$ cargo loco start
Finished dev [unoptimized + debuginfo] target(s) in 21.63s
Running `target/debug/myapp start`
:
:
:
controller/app_routes.rs:203: [Middleware] Adding log trace id
▄ ▀
▀ ▄
▄ ▀ ▄ ▄ ▄▀
▄ ▀▄▄
▄ ▀ ▀ ▀▄▀█▄
▀█▄
▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▀▀█
██████ █████ ███ █████ ███ █████ ███ ▀█
██████ █████ ███ █████ ▀▀▀ █████ ███ ▄█▄
██████ █████ ███ █████ █████ ███ ████▄
██████ █████ ███ █████ ▄▄▄ █████ ███ █████
██████ █████ ███ ████ ███ █████ ███ ████▀
▀▀▀██▄ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ██▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
https://loco.rs
environment: development
database: automigrate
logger: debug
compilation: debug
modes: server
listening on http://localhost:5150
Full Stack Serving
You can check your configuration to pick either frontend setup or server-side rendered template, and activate the relevant configuration sections.
Production Docker Deploy
Create the production environment file:
cp .env.production.example .env.production
Edit .env.production and set real secrets for POSTGRES_PASSWORD, JWT_SECRET, OAUTH_PRIVATE_KEY, and the OAuth client values. Create the shared network once (the central Caddy joins it too):
docker network create kompress_eshop-net
Then start the production stack:
make up
The stack runs the Loco app + Postgres only — TLS/routing is handled by the
central Caddy (docker-compose.caddy.yml), which shares the external
kompress_eshop-net network and reaches the app as kompress:5150 via the
imported Caddyfile. The app port 5150 is never published to the host.
Getting help
Check out a quick tour or the complete guide.