Skip to main content

Blog

Disclaimer!
Here you will get a little insight into the life of a Matrix administrator. I'll try to describe my impressions to you as best as possible. Don't let this stop you from building your own Matrix server. Basically, it's a lot of fun to explore the peculiarities and deal with problems. If you also decide to run a public server, the learning effect is even greater. :-)

2024-12-15

I'm excited to share that I've completed the maintenance work to keep the system running smoothly. One of the key tasks was conducting a thorough database vacuum, which successfully reduced the disk space usage from 169GB to 102GB. This cleanup process is always a relief, as it helps eliminate unnecessary data and frees up storage capacity.

Bildschirmfoto 2024-12-15 um 12.26.39.png

In parallel, I upgraded Synapse to Version 1.121.1.

I've also reopened the registration process for new users again, to join the community and take advantage of the services.

2024-12-05

Moving to Matrix Media Repo

With the last update of Synapse as the backend, media authentication was activated by default in the playbook "https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#2024-11-26". frei.chat still uses the built-in system to save files. The plan is to switch to the Matrix Media Repo soon. This module makes it possible to activate authenticated media and ensure secure access to all files. I have been working intensively on the topic over the last few days and tested a migration of the existing files. Unfortunately, there are problems with the import. The import tool aborts with a download error. Since this already happens with the first file and the tool does not give me any information about which file it is, I am unfortunately unable to get any further here. I then sat down and compared the existing entries in the table for local media with the existing files and was able to remove around 50,000 incorrect entries. Unfortunately, the tool still shows me missing files and the import aborts.
As the changeover is necessary to protect your data against unauthorized access, the only option I have is to make a hard cut.
What does this mean for you as a user?
Activating the Matrix Media Repo is quite straightforward. From the time of the changeover, old files will no longer be accessible. However, as frei.chat stores files for a maximum of 30 days, this should not be a big problem.
What do I have to do as a user?
  • Use the Element desktop client to save your files using the export function.
  • Please also save your profile picture so that you can upload it again after the changeover. In the Element client, click File in a room on the picture of your user name in a line of text. Then click on your profile picture in the right bar and download the picture by right-clicking > Save image as.
Is there an advantage after the change?
After the change, the plan is that files will no longer be saved on the server, but in an S3 bucket. For the time being, 1TB of storage space is available. This also means that the time until files are deleted can be increased. This will only happen at a later date, as soon as it can be guaranteed that there will be no problems after the change.

Change to the retention policy

As the number of users on frei.chat continues to grow, the number of rooms and their messages/events also increases. I have therefore decided to set the general age limit for the chat history to 6 months. All messages that are older than this will be deleted. This decision helps the database to maintain a moderate size and performance. Of course, this means that you can no longer read the full chat history, but when have you ever scrolled back six months?

2024-12-01

As of November 30th, 2024, our maintenance work has been successfully completed. This update brought several improvements to our database and system performance.

One significant update was the migration from Postgres version 16 to version 17. This upgrade has already started to show positive results in terms of improved performance.

grafik.png

Another key improvement is the reduction in database size from 176GB down to 156GB. This is a notable decrease and will likely have long-term benefits for our server's resource usage and scalability.

grafik.png

Despite these positive changes, we are still experiencing issues with the LinkedIn bridge. Unfortunately, this has caused some inconvenience for users who rely on this feature. In response, we have opened an issue in the GitHub repository (https://github.com/beeper/linkedin/issues/102), where you can track our progress and provide feedback.

Additionally, we'd like to inform you that due to unforeseen circumstances, our old support room has mysteriously disappeared. We're still investigating the cause of this anomaly, but rest assured that we've set up a brand new support room, accessible through https://matrix.to/#/#support:frei.chat.

We appreciate your patience and understanding as we work to resolve these issues and continue to improve our systems.

2024-06-16

It's been a while since the last update.

Here are a few statistics to keep you entertained:

Accounts registered 505
Active users per day / week
approx 175 / 200
Sent messages from frei.chat users last 30 days
32k
Received messages from foreign servers last 30 days 600k

2024-05-01 Connection issue to WhatsApp

Unfortunately there was a connection problem from frei.chat to the WhatsApp servers. Messages sent in the past 24 hours are probably not transmitted to the contacts. Please check whether your messages have been read by your contacts.

Please excuse the inconvenience!

2024-04-01 Happy easter!

Happy Easter to all of you, have a good time with your loved ones!

Some time has passed since the last update. Unfortunately I didn't have much time to feed the blog. But here are a few changes.

Frei.chat switched to KeydB with the last updates from Redis, which has provided a good speed gain. With normal use, the effects are only minimally noticeable, since this benefits more to internal worker processes.

In addition, there has been a problem with telephony and video calls for some time. These were no longer possible through element. I did a configuration adjustment today. So calls should be possible again.

2024-02-18 New Facebook and Instagram bridges

The current Facebook and Instagram bridges can no longer be used due to the meta switch to encrypted chats. The developer of the bridges has therefore started a new project.

With the commissioning of the new bridges, the old bots will no longer be usable. Commands about the management rooms are no longer accepted. Removing the old bots from the management rooms and adding the new bots should be possible. As soon as a new connection has been established with the personal accesses of the Meta-Portal, new rooms should open.

To create a new connection, you can find links to the documentation on the bridge page. Attention, the bots can only be addressed via the prefixes.

2024-02-13 New Element v0.11.58 with RUST-SDK

The Element team has just released the new version 0.11.58 which contains the new RUST-SDK cryptographic implementation. The team recommends a relog of all of your Element sessions including mobile clients. Only after that the new implementation will be used.

2024-02-08 Double-puppeting bridges

The double-puppeting function allows the bridge bots to create new chats from WhatsApp, Telegram and co. to accept automatically. Typically, a Matrix user must accept chat invitations manually.

In case a user sent the logout-matrix command to one of the bots, double-puppeting is disabled for that user. To reactivate this function, a login-matrix TOKEN is required. The personal token of a permanently valid session must be used for this. This session must never be deactivated so that double-puppeting remains functional.

How do I get a persistent token and enable double-puppeting again?

Only do this if you accidentally sent a logout-matrix to the Bridge bot!

  1. In your favorite browser, open a private window
  2. Now go to https://element.frei.chat and log in with your user and password. Then enter your security key.
  3. In the Settings go to the “Help & About” menu and expand “Access Token”. Copy the value shown there.
    Warning: Do not show this value to anyone, as it grants full access to your account!

    grafik.png

  4. Now go to the Bridge bot chat and run the command login-matrix TOKEN (replace TOKEN with the copied value!)

2024-02-06 Docker Security Advisory

The latest Docker news reports security vulnerabilities. Therefore, today there was a short restart of the server with the latest Docker Engine version.
Source: https://www.docker.com/blog/docker-security-advisory-multiple-vulnerabilities-in-runc-buildkit-and-moby/

2024-01-29 Registration issue when using Element

For some days now frei.chat has suffered from a registration issue when using Element chat. An error message was showing up when clicking on the registration button. 
Some user from the Docker Matrix-channel found a solution which I could adapt to frei.chat config. After a quick reboot of the services registration is working fine again.

For anyone who is having the same issue you will have to add the following lines to your vars.yml file.

matrix_ma1sd_configuration_extension_yaml: |
  register:
    policy:
      allowed: true
      threepid:
        email:
          domain:
            blacklist: ~
            whitelist: ~


2024-01-28 Development on Facebook and Instagram bridges / Replacement in sight?

With the announcement I would like to inform you that development on the Facebook and Instagram bridges will soon be discontinued and frei.chat will move to the new development strand as soon as it is available in the playbook.
Currently it looks like existing connections to your accounts will be terminated and you will have to reconnect manually.
You will receive further information as soon as the change takes place.

2024-01-21 NTFY issue

For some time now, the NTFY service on frei.chat has not been able to send notifications. I have not yet been able to resolve the following error message because the DNS resolution for ntfy.frei.chat in the local Matrix network always worked. Today I came across a Github post (Thanks to ToeiRei) that provides a solution to this problem.
Synapse uses a blacklist and excludes local IP address networks. With the frei.chat setup, this prevents Synapse from communicating with NTFY, as this occurs via the public FQDN (ntfy.frei.chat) and not via the internal address. Since ntfy.frei.chat resolves to a local IP in this internal network, it is ignored.

matrix-synapse: synapse.push.httppusher - 415 - WARNING - httppush.process-13060 - Failed to push data to
  @USERNAME:frei.chat/im.vector.app.android/https://ntfy.frei.chat/UNIQUE_IDENTIFIER?up=1: 
  <class 'twisted.internet.error.DNSLookupError'> DNS lookup failed: no results for hostname lookup: ntfy.frei.chat.

The solution is to enter the IP of the internal proxy, in this case an upstream nginx service, in Synapse.

matrix_synapse_configuration_extension_yaml: |
  ip_range_whitelist:
    - 'local_ip_of_nginx_proxy'

2024-01-20 New worker setup / registration issue

Charles Wright from FUTO has been working on a specialized worker setup for more efficiant workload. Frei.chat is running that new setup from today on. Read more.

Unfortunately, the frei.chat Element client is having an issue with the registration process. After successfully finishing the recaptcha authorization the loading circle will not stop spinning and doesn't bring you to the next dialog to complete the registration process. So I changed the documentation for registering new users with the Schildichat app, which surprisingly doesn't seem to have this issue.

2024-01-19 Workers up again

The workers problem has been solved and they are up again. Maybe you have experienced slow message / media transfer to external servers, if not I'm happy it went all good over the last days. Especially mobile apps have sufferd from that single worker setup with log loading screens (> 2 or 3 seconds).

Now with workers there shouldn't have any of these bad latence and messages / media should arrive much faster. The mobile apps should also sync faster when you open the app after a longer time.

2024-01-16 Troublesome day

Today I decided to update to the new Traefik configuration. Unfortunately, this proved to be a major problem.
The configuration in the playbook is still quite young, but since I had good results on my test instance, I took the step. Unfortunately, I discovered that the frei.chat setup is currently not compatible with the configuration.
The problem was the current worker configuration, which splits up certain background processes and is supposed to provide better performance. Unfortunately, Traefik doesn't seem to be configured correctly for the workers to function correctly. Unfortunately there were a few restarts today because the error was difficult to reproduce.
After a few hours of troubleshooting, a delicious, energizing tiramisu and two hours of sleep, I tried it again and was able to narrow down the source of the error to the workers. The setup will now run again on the non-worker setting until the problem with the workers has been resolved.
Please excuse the many restarts.

I also decided to limit the retention time to 7 days for local and remote media. But uploads of up to 250MB in size are now possible. Profile pictures are not affected.

There are no updates... Had a configuration issue which went online. There is no change but you still have to consent again. Sorry!

Additionally I've added history information to the Privacy Policy and Terms of Use pages. No other changes were made to the pages at all!

Update 17:30 Uhr

The developer of the playbook changed some variable names which manage the port definition for internal services. Had to deploy twice to find the correct combination. Therefore frei.chat was unavailable a bit longer than usual during restart

2024-01-09 New website logo, First steps and updated pages

Todays announcement is about presenting the new frei.chat logo and informing about a fresh update of most of the pages, like Bots, Bridges and Services.

If you would like to link frei.chat on your website, you can of course use the logo in conjunction with.

frei.chat now has a new public space for RSS feeds. Each room is assigned a feed and updates once an hour.

The Postmoogle bot allows every user to receive and send emails via frei.chat. The Bots page describes what you need to do for your personal email address.

I have created a "First steps" guide on how to start on frei.chat for new users.

2024-01-06 Revision of the website

I've been working on redesigning the frei.chat website for a few hours now. I switched from the mkdocs for materials software to Bookstack, which makes working on the individual pages much easier.
In addition to updates to the Bridges, Bots and Services pages, illustrated instructions for the first steps to your own frei.chat account have now been added.
In addition, you now have a clear overview of the changes to the frei.chat server on the announcements page.

2024-01-05 Update of the Signal bridge bot

Singal

If you want to have all Signal chats in you very own Signal space you have to run the command !signal sync-spaces in you personal Singal management room.

Maubot

The new maubot can be invited in every unencrypted room. It response to many commands and mostly used for fun actions.

2024-01-04 New Signal bridge bot

The new Signal bridge was installed on top of the existing installation. All devices which have been connected before the 3rd of January 2024 needs to be re-linked manually. Every command has to start with the prefix !signal so talk to the bridge bot.

In case you have problems with the Signal bot please kick the user @signalbot:frei.chat out of the management room, leave that room, create a new unencrypted room and invite the bot again.