A simple, standalone NNTP news server written in Go.
Open Source — GPL-3.0 GitHub Repository
gonewsd is a lightweight, standalone NNTP (Network News Transfer Protocol) server for hosting private newsgroups. It started as a Go port of the original newsd by Greg Ercolano, with additional features for modern private newsgroup use.
Unlike traditional Usenet servers, gonewsd is designed for private use — serving one or more newsgroups on your local network or via the internet. Perfect for team discussions, project coordination, or hobbyist communities.

Think of it as Reddit before the Web even existed. Usenet is one of the oldest computer network communication systems — created in 1979, over a decade before the World Wide Web (1991). It consists of newsgroups — discussion forums organized by topic — where users post and read messages using NNTP clients.
At its peak, Usenet hosted over 100,000 newsgroups with millions of active users worldwide. While public Usenet has declined with the rise of web forums and social media, the underlying technology remains remarkably robust and useful:
Built-in user authentication with a SQLite backend and flexible per-group access controls (ACLs).
Manage groups, users, and permissions quickly through an easy-to-use CLI menu workflow.

Post messages via email using the built-in mail-to-news gateway — bridge email and newsgroups seamlessly.
Written in Go and statically compiled — runs as a single binary with no external dependencies.
Includes a systemd service template for easy deployment and management on Linux servers.
Builds for Linux and macOS — both amd64 and arm64 architectures supported.
Full documentation covering installation, configuration, and the ACL database schema.
Download pre-built binaries from the Releases page, or build from source:
git clone https://github.com/runableapp/gonewsd.git
cd gonewsd
task build# Copy and edit config file
cp gonewsd.conf /etc/gonewsd.conf
# Create a newsgroup
./bin/gonewsd -c /etc/gonewsd.conf addgroup \
-group my.discussion -g rw -o r \
-desc "My discussion group"
# Start the server
./bin/gonewsd -c /etc/gonewsd.confUse your favorite NNTP client (Thunderbird, tin, slrn, etc.) to connect to your server.
For detailed installation instructions, see the Installation Guide.
Full documentation is available in the manuals/ directory:
Installation and setup guide.
Configuration reference.
Auth database schema.
Run gonewsd help for built-in command reference.