1
Fork 0
[push mirror] Backup repository for the main codeberg repo https://codeberg.org/timedout/venator
  • Go 97.7%
  • Nix 1%
  • Shell 0.7%
  • HTML 0.3%
  • Dockerfile 0.2%
Find a file
2026-09-04 00:08:01 +02:00
.forgejo fix(nix): use go 1.27 (#164) 2026-09-02 20:14:34 +02:00
.idea feat(router): Unify static file shares 2026-08-31 17:09:04 +01:00
cmd fix(config): Refuse to start with serial database connection pool 2026-08-31 23:13:56 +01:00
contrib fix(nix): use go 1.27 (#164) 2026-09-02 20:14:34 +02:00
dev docs: Add guide for running test suites 2026-07-15 15:05:48 +01:00
docs fix: Securely source request IP (#166) 2026-09-04 00:08:01 +02:00
internal fix: Securely source request IP (#166) 2026-09-04 00:08:01 +02:00
libvenator feat(libvenator): Add missing API coverage 2026-08-31 02:43:54 +01:00
tests/e2e fix(tests): Supply a username in no-password and update errcode in no-username 2026-09-01 03:15:53 +01:00
utils fix: Securely source request IP (#166) 2026-09-04 00:08:01 +02:00
.gitignore feat(router): Unify static file shares 2026-08-31 17:09:04 +01:00
.gitmodules feat: add pre-commit configuration and fix code quality issues (#3) 2025-10-20 16:19:06 +02:00
.golangci.yml fix(ci): Ensure golangci runs with jsonv2 experiment correctly 2026-08-07 10:29:29 +01:00
.markdownlint-cli2.yaml fix(ci): Don't markdown lint generated nix reference 2026-07-04 04:02:32 +01:00
.markdownlint.yaml fix(pre-commit): Don't mess up code samples in markdown 2026-06-01 13:41:55 +01:00
.pre-commit-config.yaml feat(ci): Use golangci-lint fmt instead of gofmt 2026-06-25 22:29:55 +01:00
book.toml feat(router): Unify static file shares 2026-08-31 17:09:04 +01:00
build.sh feat(router): Unify static file shares 2026-08-31 17:09:04 +01:00
default.nix fix(nix): use go 1.27 (#164) 2026-09-02 20:14:34 +02:00
flake.lock fix(nix): use go 1.27 (#164) 2026-09-02 20:14:34 +02:00
flake.nix feat: Nix package for Venator (#108) 2026-06-19 18:34:37 +02:00
go.mod feat(venatorctl): Add commands for managing the server-side search index 2026-08-31 03:20:01 +01:00
go.sum feat(venatorctl): Add commands for managing the server-side search index 2026-08-31 03:20:01 +01:00
LICENSE Initial commit 2025-05-21 03:20:20 +01:00
README.md chore: Update README 2026-07-14 05:57:24 +01:00
renovate.json chore: Enable nix in Renovate config 2026-07-31 14:47:11 +02:00
SECURITY.md feat(meta): Add a simple security policy 2026-08-26 07:08:12 +01:00

Matrix Venator

Over-fire all reactors. We're gonna blow right past this guy, whoever he is

Note

Interested in Venator as a project? Join #venator:nexy7574.co.uk to discuss :)

Venator is an independently maintained Matrix homeserver, written from scratch in Go using the mautrix-go SDK. Venator focuses on ease of use, efficiency, and technical compliance, bringing you a pocket-sized interoperable chat server, that will bring you where you need it to without question.

About

What is Matrix?

Matrix is an open network for secure, decentralised communication. Matrix is the protocol, which defines how different applications communicate with each other, which allows multiple components to interoperate with each other.

Venator is a "homeserver". A "homeserver" is like an Email server - it handles local messages and sending those messages out to other servers it is told to. It combines paradigms seen in other chat protocols like IRC, such as chat rooms, which enables you to communicate with several other users simultaneously.

It is important to note that Matrix is the protocol, not the app. You may use one of many apps, including Element's suite of apps (Element Web/Desktop, Element X, etc.), Cinny & derivatives, FluffyChat, Gomuks, iamb, etc.

Further reading: https://matrix.org/docs/chat_basics/matrix-for-im/#what-is-it

What are the goals?

As stated prior, Venator aims to be:

  • Easy to set up, run, and manage
  • Efficient, leaving as low of a resource footprint as possible while remaining performant
  • Technically compliant with the Matrix specification
  • Bleeding edge, implementing the latest features

The original intention for this project was for me to do hands-on learning to understand low-level properties of the Matrix protocol, such as the likes of federation, end-to-end encryption, and state resolution. However, the project is now in a state where it could seriously be considered a usable homeserver, so that's the direction it is now going in.

Is it ready yet?

No. Venator is still alpha quality, which means it is still rapidly evolving, chunks of functionality are missing, and earth-shattering bugs are expected. That doesn't mean you shouldn't set up a test deployment though! Give it a spin!

The project is currently listed on the Matrix.org ecosystem page under Alpha: https://matrix.org/ecosystem/servers/.

Tip

Venator does not yet implement Federation. You cannot currently communicate with users on other servers.

Looking for a server to deploy that is ready? Check out continuwuity!

Can I try it out?

See: https://timedout.codeberg.page/venator/#demo-instance.

Documentation

See: https://timedout.codeberg.page/venator/.

Setup

Read the Getting Started guide. It goes through all the steps required to get a Venator server set up, and your first user created.

Roadmap?

There isn't really a roadmap as such, but issues and pull requests get triaged into version milestones, which can be read as a sort of roadmap.

If you wish to discuss things related to Venator, please join the Matrix room at #venator:nexy7574.co.uk.