2020-10-23 06:31:56 -07:00
2020-10-25 07:16:29 -07:00
2020-12-01 10:52:41 -08:00
2020-10-23 06:31:56 -07:00
2020-11-03 16:14:15 -08:00
2020-10-23 06:31:56 -07:00
2020-10-23 06:31:56 -07:00
2020-10-23 06:31:56 -07:00
2020-12-01 10:52:41 -08:00
2020-12-01 10:52:41 -08:00
2020-10-23 06:31:56 -07:00
2020-10-23 06:31:56 -07:00
2020-10-25 07:16:29 -07:00

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

S
Description
Anonymous textboard for Gemini protocol
Readme 131 KiB
Languages
Rust 91.9%
PLpgSQL 4.3%
SQL 1.4%
TSQL 1.3%
Shell 1.1%