send text to synapse servers' logs (INFO level) by using typing EDU room IDs
  • Go 83.3%
  • HTML 16.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-28 02:49:13 +01:00
cmd add embedded page 2026-08-03 12:35:28 +01:00
internal bcrypt password 2026-08-03 16:37:33 +01:00
.gitignore :3 2026-07-30 19:14:31 +01:00
go.mod Update module maunium.net/go/mautrix to v0.30.0 2026-08-23 14:57:50 +00:00
go.sum Update module maunium.net/go/mautrix to v0.30.0 2026-08-23 14:57:50 +00:00
m3.service h 2026-08-28 02:49:13 +01:00
README.md h 2026-08-28 02:49:13 +01:00
renovate.json Add renovate.json 2026-08-23 14:54:48 +00:00

m3

hi

if you came from my blog wtf is wrong with you lol

before trying this you need a domain or subdomain that can be used for the matrix stuff.

first build the server and install it, you need golang for this ofc

git clone https://git.squarebowl.club/plate/m3
cd m3
go build -o m3-server cmd/main.go
sudo cp m3-server /usr/local/bin
m3-server -generate

now edit config.json which it should have created. i would use [subdomain]:443 as the server name, it looks ugly but it's the easiest.

(you have to make the bcrypt hash for the password yourself, sorry, i'll fix that later)

then make the user for the service, set up a directory for it, and move the config over

sudo adduser --group --system --shell /sbin/nologin --no-create-home m3
sudo mkdir /etc/m3
sudo chmod 770 /etc/m3
sudo chown m3:m3 /etc/m3 config.json
sudo mv config.json /etc/m3

copy the systemd service if needed and enable it

sudo cp m3.service /etc/systemd/system
sudo systemctl daemon reload
sudo systemctl enable --now m3

reverse proxy to the configured port

have fun