Skip to content

YGGverse/mb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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;
    }
}

Releases

No releases published

Sponsor this project

Packages

No packages published