master
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
- Rust (1.42.0+) and Cargo
- PostgreSQL and libpq-dev
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
Description
Languages
Rust
91.9%
PLpgSQL
4.3%
SQL
1.4%
TSQL
1.3%
Shell
1.1%
