Simple, js-less micro-blogging platform written in Rust https://crates.io/crates/mb
Find a file
2026-02-28 17:38:20 +02:00
.github initial commit 2025-08-20 02:58:40 +03:00
public/theme remove bold decoration 2025-08-21 02:38:42 +03:00
src add post_max_chars config option 2025-08-22 22:47:44 +03:00
templates add post_max_chars config option 2025-08-22 22:47:44 +03:00
.gitignore add Cargo.lock 2026-02-28 17:38:20 +02:00
Cargo.lock add Cargo.lock 2026-02-28 17:38:20 +02:00
Cargo.toml add post_max_chars config option 2025-08-22 22:47:44 +03:00
LICENSE Initial commit 2025-08-20 02:44:55 +03:00
README.md remove cache example (cache statics only) 2025-08-21 15:34:45 +03:00

mb

Build Dependencies crates.io

Simple, js-less micro-blogging platform written in Rust.

It uses the Rocket framework and redb database for serving messages.

Demo

mb v0.1.1 index page

Install

  1. git clone https://github.com/YGGverse/mb.git && cd mb
  2. cargo build --release
  3. sudo install target/release/mb /usr/local/bin/mb

Usage

systemd

[Unit]
After=network.target
Wants=network.target

[Service]
Type=simple
User=mb
Group=mb
WorkingDirectory=/path/to/public-and-templates
ExecStart=/usr/local/bin/mb --token=strong_key
StandardOutput=file:///path/to/debug.log
StandardError=file:///path/to/error.log

[Install]
WantedBy=multi-user.target
  • the database file will be created if it does not already exist at the given location
  • the token value is the access key to create and delete your messages (the authentication feature has not yet been implemented)
  • copy templates and public folders to WorkingDirectory destination (see Rocket deployment for details)

nginx

server {
    listen 80;

    location ~* \.(jpg|jpeg|png|gif|ico|svg|css|js) {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}