Anonymous textboard for Gemini protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
CrunkLord420 75ec354072 BUGFIX: order thread replies 11 months ago
migrations init 1 year ago
openrc added OpenRC service 12 months ago
src BUGFIX: order thread replies 11 months ago
systemd init 1 year ago
tools/orphanposts forgot .env 12 months ago
.env init 1 year ago
.gitignore init 1 year ago
AGPL-3 init 1 year ago
Cargo.lock BUGFIX: order thread replies 11 months ago
Cargo.toml BUGFIX: order thread replies 11 months ago
LICENSE init 1 year ago
README.md added OpenRC service 12 months ago
config.toml.example init 1 year ago

README.md

GemBoard

Gemini Anonymous Textboard

GemBoard is an asynchronous and multithreaded anonymous textboard for the Gemini network protocol, built with the Rust programming language and Tokio.

System Requirements

Installation

Download

git clone https://git.kiwifarms.net/CrunkLord420/gemboard.git
cd gemboard

Build

cargo build --release

Setup PostgreSQL

Install diesel-cli

cargo install diesel_cli --no-default-features --features postgres

Initialize Database

  • Edit .env to match your PostgreSQL configuration
~/.cargo/bin/diesel setup

Configure

cp config.toml.example target/release/config.toml
  • Edit as needed after copying

Generate a self-signed TLS certificate and private key

openssl req -x509 -newkey rsa:4096 -keyout target/release/key.rsa -out \
target/release/cert.pem -days 3650 -nodes -subj "/CN=example.com"

Create Service (SystemD)

cp systemd/gemboard.service /etc/systemd/system/
systemctl enable gemboard.service
systemctl start gemboard.service
  • Edit gemboard.service to match your working directory

Create Service (OpenRC)

cp openrc/gemboard /etc/init.d/
rc-update add gemboard default
/etc/init.d/gemboard start
  • Edit init script to match your working directory

License

AGPL-3.0-only+NIGGER

AGPLv3