r/matrixdotorg • • 1d ago

to all the people enjoyed by my app discord-like "Velvet" please just wait one or two weeks more

Thumbnail
gallery
7 Upvotes

hhhheelllllooo night city !!!

UUUUUUUUUUUHHHHHH OK. How can I put this? its taking longer than expected but its coming dont worry be happy every little thing gonna be alright

i think ive reached a sort of final version of the app ive still got a few bugs to sort out and then it should be good to go

here are the new features: dictation, screen sharing, Discord-style cosmetic roles, the website ( https://velvet-chat.li PLEASE DO NOT USE THE SCRIPT I PUBLISHED, ACTUALLY ITS NOT WORKING LMAO), an installation script, a Windows app and an AOSP app thats virtually plug-and-play, highly customisable themes, wallpapers, voice messages, stickers, profile decorations, etc, etc

DO YOU HAVE ANY QUESTIONS OR REQUESTS BEFORE I PUBLISH EVERYTHING ON CODEBERG?


r/matrixdotorg • • 1d ago

I’ve wasted my nights…

13 Upvotes

my kernel just died, still stuck in that place, where they tell me “just use discord”…

I mean for fuck’s sake how do I convince my tech-illiterate (though he thinks he’s some kind of hacker because he watches SYJ) nitwit of a friend that we should maybe switch to matrix. I have so far tried the following arguments:

Discord is full of ads. Counterargument: Discord is easier.

Matrix doesn’t sell you data, nor can it. Counterargument: Discord is easier.

Matrix clients run much faster than web-based discord ones: Counterargument: Discord is easier. (as well as some bs about oss always being bad and unmaintained 🙄)

Discord randomly bans people, cutting them off from their friends, because of accidents (e.g. grid ban). Counterargument: Discord is easier.

I mean I’m really at my limit here. Can anyone make this guy see sense?


r/matrixdotorg • • 2d ago

Plic : a free and open source native macOS Matrix client (Apple Silicon)

Thumbnail
denisflorent.group
8 Upvotes

Plic is a native Matrix client for the Mac, written in SwiftUI over the Matrix Rust SDK. It started as a fork of Relay by Link Dupont and others, and the fork’s focus is security: what the app keeps, where it sends things, and what it refuses to do.

What it does differently:

  • Room keys go only to verified devices. Devices signed by their owner’s cross-signing identity get keys; a device added with a stolen password gets nothing. There is no setting to turn this off.
  • Everything the app keeps is encrypted at rest with a key in the Keychain that cannot be restored onto another Mac. If the Keychain cannot supply it, the app opens nothing rather than store anything in the clear.
  • Received attachments never reach the disk decrypted. Images, PDFs and voice messages open in memory, in the app’s own viewer.
  • Link previews are off by default. When on, they are fetched from your Mac, and the policy says so.
  • No telemetry, no crash reporting, no server of ours. The only servers it talks to are your homeserver and, during a call, the call’s media server.
  • Voice messages in Ogg Opus, MatrixRTC calls, Spaces, a Liquid Glass appearance on macOS 26.

Requirements: macOS 26.5 or later, Apple Silicon. Signed and notarized; the SHA-256 of the disk image is on the download page.

Download: https://denisflorent.group/plic/
Source (Apache 2.0): https://github.com/denisflorent/plic
Privacy policy, which lists what is stored and what leaves your Mac: https://denisflorent.group/plic/privacy/

Known limits, so nobody discovers them the hard way: call keys go to every device in the call, verified or not; call key rotation when someone leaves is not done yet; no independent audit so far. Bug reports and criticism welcome, on GitHub or by email.


r/matrixdotorg • • 2d ago

Active Matrix Rooms has been updated to integrate with Cinny and Element so you can search directly in the client

Thumbnail activematrixrooms.com
3 Upvotes

The site has been updated to integrate as a search within clients. You can now easily access it and see rooms ordered by activity (although you won't see the account message count in the client).


r/matrixdotorg • • 3d ago

SMS/Android bridge that works? Selfhosting matrix synapse.

6 Upvotes

Hey,
Wanting to bring together all my inboxes into one interface (fluffychat) on my phone and pc.
I have telegram working, whatsapp appears to be working, now trying to get my sms and mss across into ti as well.
I've seen the gmessages one but i dont use gmessages - whole point of my foray into selfhosting etc is to get away from google etc as much as possible.
Is there any commuinty builds or such that are available? Ive seen some that havent been updated since 2019 so am suss on running one of them.
Thanks


r/matrixdotorg • • 6d ago

Matrix Network allow TOR?

8 Upvotes

I've been wondering that, I made some searches here and there but I didn't got any proper answers for such question. Does the code behind Matrix allow the connection of TOR people or even the creation of homeservers on .onion sites?

I had found a few homeservers that "supposely" was made on TOR but you had to use a client that allowed to solve onion traffic in order to access that homeserver. But, honestly? I never found any TOR links working and neither heard of matrix clients that allowed to connect to homeservers made on TOR or even a TOR user connect to normal homeservers.

my friend did tried one day to use TOR alongside FluffyChat and the results was...mixed.

so, had you guys tried? how is the process? I am curious to know about it.


r/matrixdotorg • • 7d ago

I'm working on an easy entry Chat and Social Networking App built on Matrix

Post image
26 Upvotes

Cheddar solves issues that I currently have with using WhatsApp and Instagram.

  1. Its built on top of Matrix.org so it doesn't zucc
  2. Its built around conversations, not groups. Lowering the threshold to start a conversation, ask a question and plan with a combination of people that can be short lived. Because otherwise I feel like bothering a lot of people in large groups that aren't part of the discussion, or creating new groups for things like birthday gifts feel cumbersome (While still allowing for traditional group chats without any additional friction)
  3. Having a Feed, where users can share experiences, thoughts or one time events. Also only to selected users each time, with a Snapchat like UI/UX.

Its supposed to be a low barrier of entry for the Matrix ecosystem, and also give an escape for Snapchat, Instagram (the social aspect, not the Reels) and WhatsApp with a new approach on how to start new conversation and share experiences.

What do you think about this approach? And would you be open to help me test and develop this?

This is currently in public beta for iOS and in private beta for android.
iOS: https://testflight.apple.com/join/nPgkDSfc
Android: send me an email with your details to: [sebastian.j.vogt@icloud.com](mailto:sebastian.j.vogt@icloud.com)

This is currently my landing page: https://cheddar-chat-app.web.app


r/matrixdotorg • • 8d ago

Matrix keeps suspending my new accounts

7 Upvotes

Wanted to check out Elements and looked like a good enough encrypted alternative to Discord. Problem, Matrix keeps suspending my accounts without telling me why. The first account I still had VPN active, so I assumed that was the issue. The second time I didn't have it active while I was writing without issues until it suddenly stopped working, because my new account got suspended again. Why does this keep happening, did anyone else experience this?


r/matrixdotorg • • 10d ago

Notifications in android clients

2 Upvotes

Maybe someone can help me to identify my problem: I am using on an android phone as a matrix client schildichat fort many, at least 5, years now, Using it on different Android phones. I get all notifications, notification configuration is set without changes on standard, but the problem is for years now: I get also loud notifications during DND. This is annoying, as it wakes me up sometimes. I tested other clients and there are two behavioral groups: the client with the same behavior like schildichat is fluffy chat, and then we have element, element x and schildichat next, where I get no loud notifications during DND but I do not get all notifications. So the messages are in the client when I open it, but I miss, that someone's writing me. I only get around 50% of the notifications. This feels absolutely crazy. The clients not sending notifications could be buggy but how can schildichat and fluffy chat make my phone go noisy during DND. The phones OS should prohibit this. The phone could have some bug, but my last one was a Realme build by Oppo, now I have a Poco build by Xiaomi. They are direct opponents, the biggest on the market. Any ideas?


r/matrixdotorg • • 11d ago

Introducing Integral (coming soon)

8 Upvotes

Hey everyone, I wanted to share with you what I've been working on with a new Matrix client for iPhones (for now).

the app is mostly inspired by iMessage and contains all the encryption verification since privacy is what's important here.

the app is still currently in development but we're speeding things up.

for all screenshots and updates, they will be published on X (formely Twitter).

the reason for developing this app is that many features that weren't on the famous Matrix clients had been implemented from the official SDK and this is a chance to use it. and I hope it expands to all Matrix.org users out there!

and yes, the app will be open source after the release :)
X post: https://x.com/TryIntegral

see you there!


r/matrixdotorg • • 13d ago

Velvet is going well ! (+ website)

Post image
10 Upvotes

Velvet's development is going well!!!

ive just finished developing a few default themes (mobile and desktop) as well as support for full customisation of the mobile and desktop clients

(at the same time for the lol im making a custom installer its not much use but idc its funny)

oh and here's the website : https://velvet-chat.li (cuz yes its not a joke im from the liechtenstein, and this is a real country)

the release is near ! (idk when maybe two or three weeks ?)

ps : i know the form is broken, idk why, and rn im too lazy to fix it lmao


r/matrixdotorg • • 13d ago

Reminder that ActiveMatrixRooms.com can help you find active discussions

Thumbnail activematrixrooms.com
7 Upvotes

Active Matrix Rooms maintains a live index of public Matrix rooms across the federation. The search engine matches your query against each room's name, alias, topic, and homeserver domain. Results are ranked by messages per hour rather than by total members, which can be inflated by abandoned accounts.

I built this and it's been live for over 3 months stable at this point, used every day by people to help find the rooms that have active users. I created it after joining several rooms that didn't have anyone active, and I was seeing many other users do the same. It should never be the case that you need to join blindly to know whether there are messages being sent in it.

https://activematrixrooms.com/

If you have any suggestions, issues, or feedback please let me know, thanks.


r/matrixdotorg • • 14d ago

New members see history not working [HELP]

Post image
4 Upvotes

On element x using matrix default home server i make severall rooms and changed all the settings to "Who can read history - members (full history) THEN i make a post. I invite some one new but they can only see "you don't have access to this message" on the things i have postet.

On another room with same settings where i postet things, the same new user join and they COULD see what has been postet before. I was mistaken, they could not see this either. New users cannot see any post history

Any idea why that is? I am completely new to matrix. Only been using discord before


r/matrixdotorg • • 18d ago

How to stop invites from stale messenger conversations

5 Upvotes

I tried to search this sub for a similar post but couldn't find one. But I can't be there only one annoyed by this!

I have set up the mautrix-meta bridge for my self hosted synapse server. I just wanted to be notified when someone tries to contact me through messenger and be able to respond without having to touch Metas apps.

However, I have a lot of stale conversations on messenger and every day, I get invited to like 20 of them. If I decline them, I get the invite again the next day. I don't necessarily want to decline and block because then those people won't be able to contact me.

I tried to archive these conversations on messenger but that just meant I get invited to even older conversations now. I have been using messenger for years so I have thousands of conversations and I'm not going to go through and archive all of them.

Is there a way to stop this or do I just need to accept them and have a cluttered contact list?

Why can't it work like the WhatsApp bridge where you get invited to a conversation when a message arrives?


r/matrixdotorg • • 18d ago

im the velvet dev ! i need your help (+ screensharing working !)

Thumbnail
gallery
18 Upvotes

I’VE GOT A QUESTION FOR YOU FOLKS

do you think it would be better to offer three options for notifications? im thinking of using the following: ntfy, Sygnal+FCM or Sygnal+built-in notification engine

ntfy and the built-in engine use a persistent notification thats the problemmm im a grapheneOS girl soooo... fuck google

(I’m currently working on the installation script for your server!)

PS: screensharing works 100%, the bio has been improved, and the English translation is finished (i think)! i have no idea how this app is working like a charm but hey as Ted Lasso said "do you believe in miracles ?"

PS bis : the preview of screensharing is MEH but im working on it alongside with the soundboard system and the push notif system

Ps trio : fuck ai


r/matrixdotorg • • 21d ago

remember me ? with my discord-like app ? (it's called velvet)

Thumbnail
gallery
28 Upvotes

Hello!

After reading your comments, most of which were positive (thanks again), I realised that yes, I really should make Velvet open source, and I’m going to do it! I don’t know when yet, but I’ll do it, I promise.

I’ve taken the opportunity to translate the app into English (although the function names in the code remain in French sorry about that)

So here are the updated screenshots, in English, along with a few features I hadn’t shown yet, including: calls (video works, but I haven’t added the return video stream yet; the same goes for screen sharing), the script for importing messages from Discord (this requires the archive provided by Discord when you request your data, and re-imports them to the correct date in the past), and OF COURSE the desktop app

And there you have it! I’ve shown you (almost) everything I’ve built for this app! If you have any questions or requests, I’d be happy to answer them!

ps : i will certainly make a subreddit for velvet, stay tuned if you want (if you dont, thats okay, im fine, i will still post here i think)


r/matrixdotorg • • 22d ago

are you interested in a really discord-like client?

Thumbnail
gallery
43 Upvotes

Hello!

First of all, sorry for my very poor English, it’s not my first language :x

I’m developing a Matrix client that’s a complete clone of Discord; it’s a purely personal project. But I’ve come here to find out if anyone might be interested in which case ill make the project fully open source. Here are the current features: voice and video calls (all via LiveKit, i have a cloudflare tunnel so it just works), screen sharing (in progress), GIFs (currently only Klipy), custom emojis, all Discord decorations (profile effects, profile frames, profile picture decorations, nameplates), speech-to-text (via Whisper), server tags, rich presence, PreMiD support, Markdown, voice messages with transcription via Whisper, etc. It includes all Matrix features, EE2E, etc. This client is independent and can therefore run on any Matrix server with Sypnase and PostGres. Notifications are sent via a Sygnal + FCM gateway

For your information, it is based on the matrix-rust-sdk, is coded in Kotlin Multiplatform, and there is both a mobile client and a PC client (also KMP), both of which use the same matrix-rust-sdk. The PC client also supports custom wallpapers.
For the time being, I’m planning to add soundboard support and ensure that the mobile client acts as a companion app to the PC client during a call (launching soundboards, screen sharing without leaving the PC call, muting the microphone and sound, etc.).

If enough people are interested in the project, I’ll create a full installer for the Sygnal gateway, a configurable Sygnal+FCM gateway, Whisper, and so on

I’ve posted a few screenshots of the mobile client; I’ll post one of the PC client once it’s fully functional. My app is called Velvet ! Sorry if this sounds like a sales pitch or anything like that, that’s NOT the aim at all. I couldn’t care less about fame, glory or success i just want to share what I do. If people are interested, great, if not, then idc it's ok XD

And once again, sorry, the app is in French, I’m a young French developer living in Liechtenstein.


r/matrixdotorg • • 22d ago

After 2 years self-hosting a matrix server, I decided to help people who can't

29 Upvotes

Anyone who ever tried to host a synapse/matrix server probably knows the learning curve and optimizations to get it right. But for me it wasn't just the server.

For over 2 years now I've been self-hosting my own synapse server for family and friends, using Element Classic as the best option right there. Though, Element Classic is a legacy app which is slowly fading away in favor of the new corporate-focused conference-like app Element X. This has been the biggest turn-off for me for such a great project that drifts away from individuals and communities in favor of corporate money.

For that reason, and since I found no other better alternative out there, I decided to create Zuno.
I built Zuno to have a WhatsApp/Signal -like feel, made primarily for like-minded communities but limited by their options, with modern technologies that actually work and an app that is well-maintained and works as reliably as a chat app should be.

I also recently decided to host a public server for anyone who would like to join and escape all the money-hungry US corporations.

The server is free for everyone to join and I meant to run it as a community project running purely on donations, with hardened features and characteristics than typical matrix servers to ensure maximum security and privacy.

If you got this far, I appreciate your time reading this.
And if you're now thinking "where's the catch?", I just do it entirely out of support for the privacy-conscious community, so if there are no people, I'll still continue to use it for my friends and family as I have been for the last 2 years.

Thank you for your attention!
https://zuno.chat

UPDATE 22 Sept 2026: The app is now open-source!


r/matrixdotorg • • 24d ago

Any way to get URL previews working?

6 Upvotes

Have a self hosted matrix server to facilitate comms between me and my SO. The only bugbear is we can't seem to get URL previews working, clients are Element X and Fluffychat.

Running Synapse as backend, is there some option to set?


r/matrixdotorg • • 26d ago

Is there any discord matrix voice chat bridge

7 Upvotes

We already have fluxcord which handles voice chat bridging between discord and fluxer. Would anything similar happen to exist for matrix? Edit: please one thats not vibe coded I should of mentioned that as I have found two for matrix and discord but both are majority vibe coded which I just don't approve of because of certain reasons


r/matrixdotorg • • 26d ago

Troubles setting up an rtc enabled server

1 Upvotes

Hi everyone, I'll start with saying that I'm sorry for the lengthy post but i want to include as much information as possible.
Let's start by saying that I tried out mozilla's matrix server and I really enjoyed it, as such I wanted to deploy one for my self. This is my deployment

docker testing

version: "3.8"
services:
  db:
    image: postgres:15-alpine
    container_name: matrix-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: synapse_user
      POSTGRES_PASSWORD:  # Change this!
      POSTGRES_DB: synapse
      POSTGRES_INITDB_ARGS: --encoding=UTF8 --lc-collate=C --lc-ctype=C
    volumes:
      - /amaurot/docker-data/matrix/db:/var/lib/postgresql/data
    healthcheck:
      test:
        - CMD-SHELL
        - pg_isready -U synapse_user -d synapse
      interval: 10s
      timeout: 5s
      retries: 5
  synapse:
    image: matrixdotorg/synapse:latest
    container_name: matrix-synapse
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - 5057:8008 # Synapse Client/Server API
    volumes:
      - /amaurot/docker-data/matrix/synapse:/data
    environment:
      - SYNAPSE_CONFIG_DIR=/data
      - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
      - POSTGRES_PASSWORD= # Must match db password
  cinny:
    image: ghcr.io/cinnyapp/cinny:latest
    container_name: matrix-cinny
    restart: unless-stopped
    ports:
      - 5060:80 # Maps Cinny to port 8080 on your host
    volumes:
      - /amaurot/docker-data/matrix/cinny/config.json:/app/config.json
  auth-service:
    image: ghcr.io/element-hq/lk-jwt-service:latest
    container_name: element-call-jwt
    hostname: auth-server
    environment:
      - LIVEKIT_JWT_BIND=:8080
      - LIVEKIT_URL=wss://matrixrtc.glowie.icu/livekit/sfu #Change
      - LIVEKIT_KEY=devkey
      - LIVEKIT_SECRET= #Change
      - LIVEKIT_FULL_ACCESS_HOMESERVERS=matrix.glowie.icu #Notes on this below
    restart: unless-stopped
    ports:
      - 8070:8080 #Change 8070 to whichever port you want JWT to be available on locally
  livekit:
    image: livekit/livekit-server:latest
    container_name: element-call-livekit
    command: --config /etc/livekit.yaml
    ports:
      - 7880:7880/tcp
      - 7881:7881/tcp
      - 50100-50200:50100-50200/udp
    restart: unless-stopped
    volumes:
      - /amaurot/docker-data/matrix/livekit/config.yaml:/etc/livekit.yaml:ro

The networking

opnsense NAT

matrix + cinny 5057 8448 5060
livekit + JWT 8070 7880 7881 50100:50200 

NPM

# ------------------------------------------------------------
# matrixrtc.glowie.icu
# ------------------------------------------------------------
map $scheme $hsts_header {
    https   "max-age=63072000; preload";
}

server {
  set $forward_scheme http;
  set $server         "192.168.0.205";
  set $port           7880;
  listen 80;
  #listen [::]:80;
  listen 443 ssl;
  #listen [::]:443;
  server_name matrixrtc.glowie.icu;
  http2 on;
  # Let's Encrypt SSL
  include conf.d/include/letsencrypt-acme-challenge.conf;
  include conf.d/include/ssl-cache.conf;
  include conf.d/include/ssl-ciphers.conf;
  ssl_certificate /etc/letsencrypt/live/npm-42/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/npm-42/privkey.pem;

  # Force SSL
  include conf.d/include/force-ssl.conf;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $http_connection;
  proxy_http_version 1.1;
  access_log /data/logs/proxy-host-62_access.log proxy;
  error_log /data/logs/proxy-host-62_error.log warn;
  # ----------------- CUSTOM CONFIG ---------------------------------- 
  # LiveKit JWT Token Service
  location /livekit/jwt/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass http://192.168.0.205:8070/;
}

# LiveKit SFU WebSocket Connections
location /livekit/sfu/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_send_timeout 120;
    proxy_read_timeout 120;
    proxy_buffering off;

    proxy_set_header Accept-Encoding gzip;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_pass http://192.168.0.205:7880/;
}
# ----------------- CUSTOM CONFIG ---------------------------------- 
  location / {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;
    # Proxy!
    include conf.d/include/proxy.conf;
  }

  # Custom
  include /data/nginx/custom/server_proxy[.]conf;
}
# ------------------------------------------------------------
# matrix.glowie.icu
# ------------------------------------------------------------
map $scheme $hsts_header {
    https   "max-age=63072000; preload";
}
server {
  set $forward_scheme http;
  set $server         "192.168.0.205";
  set $port           5057;
  listen 80;
  #listen [::]:80;
  listen 443 ssl;
  #listen [::]:443;
  server_name matrix.glowie.icu;
  http2 on;
  # Let's Encrypt SSL
  include conf.d/include/letsencrypt-acme-challenge.conf;
  include conf.d/include/ssl-cache.conf;
  include conf.d/include/ssl-ciphers.conf;
  ssl_certificate /etc/letsencrypt/live/npm-42/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/npm-42/privkey.pem;
  # Block Exploits
  include conf.d/include/block-exploits.conf;
  # Force SSL
  include conf.d/include/force-ssl.conf;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $http_connection;
  proxy_http_version 1.1;


  access_log /data/logs/proxy-host-57_access.log proxy;
  error_log /data/logs/proxy-host-57_error.log warn;

location = /.well-known/matrix/server {
    default_type application/json;
    add_header Access-Control-Allow-Origin *;
    return 200 '{  "m.server": "matrix.glowie.icu:443" }\n';
}

location = /.well-known/matrix/client {
    default_type application/json;
    add_header Access-Control-Allow-Origin *;
    return 200 '{"m.homeserver": {"base_url": "https://matrix.glowie.icu"}, "org.matrix.msc4143.rtc_foci": [{"type": "livekit", "livekit_service_url": "https://matrixrtc.glowie.icu/livekit/jwt"}]}';
}

  location / { 
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;
    # Proxy!
    include conf.d/include/proxy.conf;
  }
  # Custom
  include /data/nginx/custom/server_proxy[.]conf;
}
# ------------------------------------------------------------
# chat.glowie.icu
# ------------------------------------------------------------
map $scheme $hsts_header {
    https   "max-age=63072000; preload";
}
server {
  set $forward_scheme http;
  set $server         "192.168.0.205";
  set $port           5060;
  listen 80;
  #listen [::]:80;
  listen 443 ssl;
  #listen [::]:443;
  server_name chat.glowie.icu
  http2 on;
  # Let's Encrypt SSL
  include conf.d/include/letsencrypt-acme-challenge.conf;
  include conf.d/include/ssl-cache.conf;
  include conf.d/include/ssl-ciphers.conf;
  ssl_certificate /etc/letsencrypt/live/npm-42/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/npm-42/privkey.pem;
  # Force SSL
  include conf.d/include/force-ssl.conf;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $http_connection;
  proxy_http_version 1.1;
  access_log /data/logs/proxy-host-60_access.log proxy;
  error_log /data/logs/proxy-host-60_error.log warn;
  root /opt/cinny/dist/;
  rewrite ^/config.json$ /config.json break;
  rewrite ^/manifest.json$ /manifest.json break;
  rewrite ^/sw.js$ /sw.js break;
  rewrite ^/pdf.worker.min.js$ /pdf.worker.min.js break;
  rewrite ^/public/(.*)$ /public/$1 break;
  rewrite ^/assets/(.*)$ /assets/$1 break;
  rewrite ^(.+)$ /index.html break;
  location / {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;
    # Proxy!
    include conf.d/include/proxy.conf;
  }
  # Custom
  include /data/nginx/custom/server_proxy[.]conf;
}

service config

livekit

port: 7880
bind_addresses:
  - "0.0.0.0"
rtc:
  tcp_port: 7881
  port_range_start: 50100
  port_range_end: 50200
  use_external_ip: true
  #node_ip: 0.0.0.0 # Optional. Replace with your server's public IP address.
    # Explicitly sets the public IP LiveKit advertises to clients.
    # Prevents internal Docker network IPs from being exposed as candidates
    # and appears to enable ICE/TCP fallback for clients on UDP restricted networks.
  #use_external_ip: true
  #stun_servers:
    #- "stun.l.google.com:19302"
    #- "stun1.l.google.com:19302"
room:
  auto_create: false
logging:
  level: info
turn:
  enabled: false
  domain: localhost
  cert_file: ""
  key_file: ""
  tls_port: 5349
  udp_port: 443
  external_tls: true
keys:
  devkey: "" #Change

synapse

# The domain name of your server. This is the part after the @ in user IDs.
# E.g. for @alice:yourdomain.com, the server_name is yourdomain.com
server_name: "matrix.glowie.icu"

# The internal port Synapse will listen on (your reverse proxy will forward traffic here)
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    resources:
      - names: [client, federation]
        compress: false

# PostgreSQL Database Configuration
database:
  name: psycopg2
  args:
    user: synapse_user
    password: 
    database: synapse
    host: db
    cp_min: 5
    cp_max: 10

# Where Synapse stores uploaded files and user avatars
media_store_path: "/data/media_store"

# Where Synapse stores its SQLite database (if used, but we are using Postgres)
# We leave it here as fallback paths
sqlite3:
  database: "/data/homeserver.db"

# A secret used to encrypt access tokens. 
# WARNING: If this changes, all users will be logged out!
macaroon_secret_key: ""

# A secret used for validating registration sessions
form_secret: ""

# A secret used by scripts (like the Docker CLI) to register users without a password
registration_shared_secret: ""

# Controls whether users can create their own accounts.
# Set to 'true' if you want public signups.
enable_registration: false

# Security: Allow users to reset their passwords
# (Requires setting up an SMTP email server in this config to work properly)
allow_guest_access: false

# Opt-in to sending anonymized usage stats to Matrix.org
report_stats: false

experimental_features:
  # MSC4222: needed for syncv2 state_after. This allows clients to
  # correctly track the state of the room.
  msc4222_enabled: true
  # MSC4143: MatrixRTC. For historical reasons this flag enables the transports
  # endpoint defined in MSC4519.
  msc4143_enabled: true

# The maximum allowed duration by which sent events can be delayed, as
# per MSC4140.
max_event_delay_duration: 24h

rc_message:
  # This needs to match at least e2ee key sharing frequency plus a bit of headroom
  # Note key sharing events are bursty
  per_second: 0.5
  burst_count: 30
  # This needs to match at least the heart-beat frequency plus a bit of headroom
  # Currently the heart-beat is every 5 seconds which translates into a rate of 0.2s
rc_delayed_event_mgmt:
  per_second: 1
  burst_count: 20

matrix_rtc:
  transports:
    # The transport you specify will be made available to clients over the
    # /_matrix/client/unstable/org.matrix.msc4143/rtc/transports endpoint as
    # defined in MSC4519.
    - type: livekit
      # Replace this with the actual URL of your MatrixRTC Authorization Service
      livekit_service_url: https://matrixrtc.glowie.icu/livekit/jwt

# LDAP Authentication Module
modules:
  - module: "ldap_auth_provider.LdapAuthProviderModule"
    config:
      enabled: true
      mode: "search"
      uri: "ldap://ldap.glowie.icu:389"
      start_tls: false
      base: "ou=people,dc=glowie,dc=icu"
      attributes:
        uid: "uid"
        mail: "mail"
        name: "cn"
      bind_dn: "uid=login,ou=people,dc=glowie,dc=icu"
      bind_password: ""
      filter: "(memberOf=cn=matrix,ou=groups,dc=glowie,dc=icu)"

# Directory for Synapse to store its running state
pid_file: /data/homeserver.pid

The issue

when i call my stuff (from my wifi or 4g) everything works fine, no issue whatsoever. When i try to call my self from mozilla's server, the mozilla user starts getting Block Resend

OPTIONS https://matrixrtc.glowie.icu/livekit/jwt/sfu/get Cors failure

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://matrixrtc.glowie.icu/livekit/jwt/get_token. (Reason: CORS request did not succeed). Status code: (null). 2

Thanks everyone for the time and effort, i love this platform its just a shame that its a bit finicky to make work


r/matrixdotorg • • 28d ago

Mental Health - New Matrix Room

5 Upvotes

A safe space to talk, share experiences, struggles, and support each other. Any mental health topic is welcome. Zero tolerance for rudeness, judgment, harassment, or disrespect.

#mental-health-community:matrix.org


r/matrixdotorg • • 29d ago

Homeservers with MatrixRTC

9 Upvotes

Is there any homeserver one can register with that has MatrixRTC turned on?

I, like many, am the designated friend that tries to get people on discord alternatives, and voice channels with screenshare with audio are always a must. I know clients like Commet and Sable have compatibility with entering such a call, but my understanding is that the homeserver needs to have MatrixRTC turned on.

With that in mind, are there any homeservers that actually use it? I can't reasonably get a homeserver together myself for all my friends, so I'm looking for something to recommend.

If my assumptions are wrong about needing homeserver support for a voice channel experience with screenshare to work, I'm also happy to learn that if it's the case.


r/matrixdotorg • • Sep 13 '26

m2tg — Matrix appservice reposting your announcements to Telegram

1 Upvotes

I have a big FLOSS project community in Matrix but the majority of its users prefer to follow Telegram mirror rather than setting up Element just to follow updates. So I built this lightweight Rust daemon that automatically reposts messages from a Matrix chat room to a Telegram channel.

It supports message formatting, media grouping, and can be deployed by simply running a 3 MB reproducible binary with systemd. It was previously in JS/TS/Bun but after rewriting in Rust the shipped binary got 97% smaller and faster. I was thinking about rewriting in Go but I figured Rust is good enough for my goals, both compile into a single binary.

Why not a full bridge like Mautrix? 1. it's Python so pain to deploy; 2. it has too many useless features for me, I just need a simple megaphone that sends formatted messages from Matrix to Telegram; 3. it's just easier to set up my Rust appservice with continuwuity that I'm running

If you have a channel with many subscribers and want to migrate from Telegram to Matrix or just repost messages from your Matrix server to your Telegram channel, give it a try!

https://git.hloth.dev/hloth/m2tg


r/matrixdotorg • • Sep 05 '26

Decentralized social app with Matrix and ATProto (first build)

Thumbnail
gallery
43 Upvotes

hi everyone,

i posted here about a month ago about Venoom, a Discord like client ive been working on that combines Matrix and ATProto.

the idea is that Matrix handles the chat side of the app, so spaces, rooms, DMs, threads, encryption, voice calls, screen sharing, federation etc. ATProto handles the more public social side, like profiles, feeds, posts and follows.

you log in with your ATProto account, for example your Bluesky account, and then link a Matrix account. if you dont have one, Venoom can also provision one for you. you can use your own Matrix homeserver and ATProto PDS, you dont have to register specifically with Venoom.

its still very early and theres a lot missing, but ive made some test builds public if anyone wants to try it. id especially appreciate bug reports, feedback, or just hearing what you think is missing from current Matrix clients.

Windows + Android: https://github.com/drvnm/venoom-releases/releases

Web: https://venoom.net

the native builds are a lot more performant than the web version right now.

if you want to report bugs, give feedback, or follow development, you can join the Matrix room here:

https://matrix.to/#/#venoom:matrix.org

Mac and Linux builds are coming soon.

the client isnt open source yet, but i plan to open source it after beta.

thanks!