[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73357":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},73357,"tuwunel","matrix-construct\u002Ftuwunel","matrix-construct","Official successor to conduwuit","https:\u002F\u002Ftuwunel.chat",null,"Rust",2180,177,19,62,0,13,42,103,39,28.75,"Apache License 2.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36],"chat","conduit","conduwuit","matrix","matrix-chat","matrix-server","rocksdb","rust","server","uwu","2026-06-12 02:03:12","# Tuwunel\u003Csup>💕\u003C\u002Fsup>\n\n![GitHub License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmatrix-construct\u002Ftuwunel?style=flat%2Dsquare&color=%238A2BE2)\n![GitHub Created At](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcreated-at\u002Fmatrix-construct\u002Ftuwunel?style=flat%2Dsquare&color=%238A2BE2)\n![GitHub Commit Activity](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcommit-activity\u002Fm\u002Fmatrix-construct\u002Ftuwunel?style=flat%2Dsquare&link=https%3A%2F%2Fgithub.com%2Fmatrix-construct%2Ftuwunel%2Fpulse%2Fmonthly&color=%238A2BE2)\n![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fjevolk\u002Ftuwunel?style=flat%2Dsquare&color=8A2BE2)\n![GitHub Repo Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmatrix-construct\u002Ftuwunel?style=flat%2Dsquare&link=https%3A%2F%2Fgithub.com%2Fmatrix-construct%2Ftuwunel&color=%238A2BE2)\n[![CI\u002FCD](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Factions\u002Fworkflows\u002Fmain.yml\u002Fbadge.svg?branch=main&style=flat%2Dsquare)](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Factions\u002Fworkflows\u002Fmain.yml)\n\n\u003C!-- ANCHOR: catchphrase -->\n\n## High Performance Matrix Homeserver in Rust!\n\n\u003C!-- ANCHOR_END: catchphrase -->\n\n\u003C!-- ANCHOR: body -->\n\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocumentation%2D_?color=%238A2BE2&style=for-the-badge&logo=mdBook&logoColor=FFFFFF)](https:\u002F\u002Fmatrix-construct.github.io\u002Ftuwunel\u002F)\n[![Demo Server](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdemo%20server%2D_?color=%238A2BE2&style=for-the-badge&logo=Element&logoColor=FFFFFF)](https:\u002F\u002Ftry.tuwunel.chat)\n[![Support Chat](https:\u002F\u002Fimg.shields.io\u002Fmatrix\u002Ftuwunel%3Amatrix.org.svg?color=098A09&style=for-the-badge&label=Support%20Chat&labelColor=8A2BE2&logo=Matrix)](https:\u002F\u002Fmatrix.to\u002F#\u002F#tuwunel:grin.hu)\n\nTuwunel is a featureful [Matrix](https:\u002F\u002Fmatrix.org\u002F) homeserver you can use instead of Synapse\nwith your favorite [client](https:\u002F\u002Fmatrix.org\u002Fecosystem\u002Fclients\u002F),\n[bridge](https:\u002F\u002Fmatrix.org\u002Fecosystem\u002Fbridges\u002F) or\n[bot](https:\u002F\u002Fmatrix.org\u002Fecosystem\u002Fintegrations\u002F). It is written entirely in Rust to be a scalable,\nlow-cost, enterprise-ready, community-driven alternative, fully implementing the\n[Matrix Specification](https:\u002F\u002Fspec.matrix.org\u002Flatest\u002F) for all but the most niche uses.\n\nThis project is the official successor to [conduwuit](https:\u002F\u002Fgithub.com\u002Fx86pup\u002Fconduwuit) after it\nreached stability. Tuwunel is now used by many companies with a vested interest in its continued\ndevelopment by full-time staff. It is primarily sponsored by the government of\nSwitzerland 🇨🇭 where it is currently deployed for citizens.\n\n### Getting Started\n\n- [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Freleases)\n- [Sourcecode](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002F) `git clone https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel.git`\n- [DockerHub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fjevolk\u002Ftuwunel) or `docker pull jevolk\u002Ftuwunel:latest`\n- [GHCR](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Fpkgs\u002Fcontainer\u002Ftuwunel) or `docker pull ghcr.io\u002Fmatrix-construct\u002Ftuwunel:latest`\n- Static binaries available as [releases](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Freleases) or [build artifacts](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Factions?query=branch%3Amain).\n- Deb and RPM packages available as [releases](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Freleases) or [build artifacts](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Factions?query=branch%3Amain).\n- Arch package available as [tuwunel](https:\u002F\u002Faur.archlinux.org\u002Fpackages\u002Ftuwunel).\n- Nix package available as [`matrix-tuwunel`](https:\u002F\u002Fsearch.nixos.org\u002Fpackages?query=matrix-tuwunel) and NixOS module available as [`services.matrix-tuwunel`](https:\u002F\u002Fsearch.nixos.org\u002Foptions?query=services.matrix-tuwunel).\n- Alpine package available as [tuwunel](https:\u002F\u002Fpkgs.alpinelinux.org\u002Fpackage\u002Fedge\u002Ftesting\u002Fx86_64\u002Ftuwunel).\n- Gentoo ebuild available in Guru as [net-im\u002Ftuwunel](https:\u002F\u002Fgitweb.gentoo.org\u002Frepo\u002Fproj\u002Fguru.git\u002Ftree\u002Fnet-im\u002Ftuwunel).\n- Ansible playbook available as [matrix-docker-ansible-deploy](https:\u002F\u002Fgithub.com\u002Fspantaleev\u002Fmatrix-docker-ansible-deploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fconfiguring-playbook-tuwunel.md).\n\n**1.** [Configure](https:\u002F\u002Fmatrix-construct.github.io\u002Ftuwunel\u002Fconfiguration.html) by\ncopying and editing the `tuwunel-example.toml`. The `server_name` and `database_path` must be\nconfigured. **Most users deploy via docker or a distribution package and should follow the\n[appropriate guide](https:\u002F\u002Fmatrix-construct.github.io\u002Ftuwunel\u002Fdeploying.html) instead.**\nThis is just a summary for the impatient. See the full\n[documentation](https:\u002F\u002Fmatrix-construct.github.io\u002Ftuwunel\u002F).\n\n> [!TIP]\n> Avoid using a sub-domain for your `server_name`. You can always delegate later with a [`.well-known`](https:\u002F\u002Fmatrix-construct.github.io\u002Ftuwunel\u002Fdeploying\u002Froot-domain-delegation.html)\n> file, but you can never change your `server_name`.\n\n**2.** Setup TLS certificates. Most users enjoy the [Caddy](https:\u002F\u002Fcaddyserver.com\u002F) reverse-proxy\nwhich automates their certificate renewal. Advanced users can load their own TLS certificates\nusing the configuration and Tuwunel can be deployed without a reverse proxy. Example\n`\u002Fetc\u002Fcaddy\u002FCaddyfile` configuration with [Element](https:\u002F\u002Fgithub.com\u002Felement-hq\u002Felement-web\u002Freleases)\nunzipped to `\u002Fvar\u002Fwww\u002Felement`:\n```\ntuwunel.me, tuwunel.me:8448 {\n    reverse_proxy localhost:8008\n}\nweb.tuwunel.me {\n    root * \u002Fvar\u002Fwww\u002Felement\u002F\n    file_server\n}\n```\n`caddy reload --config \u002Fetc\u002Fcaddy\u002FCaddyfile`\n\n**3.** Start the server, connect your client and register your username. The first registration is\ngranted server admin.\n\n> [!TIP]\n> Configure a secret `registration_token` and set `allow_registration = true`\n\n 🤗 Did you find this and other documentation helpful? We would love to hear feedback about setting\n up Tuwunel.\n\n\n### Migrating to Tuwunel\n\n| Can I migrate from | |\n|-----------------|-----------|\n| conduwuit? | ✅ Yes. This will be supported at a minimum for one year, but likely indefinitely. |\n| Synapse? | ❌ Not yet, but this is planned and an important issue. Subscribe to [#2](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Fissues\u002F2). |\n| Conduit? | ❌ Not right now, but this is planned for the near future. Subscribe to [#41](https:\u002F\u002Fgithub.com\u002Fmatrix-construct\u002Ftuwunel\u002Fissues\u002F41). |\n| Any other fork of Conduit? | ❌ No. The migration must be explicitly listed in this table. |\n> [!CAUTION]\n> **Never switch between different forks of Conduit or you will corrupt your database.**\n> All derivatives of Conduit share the same linear database version without any awareness of other\n> forks. The database will permanently corrupt and we will not be able to help you.\n\n#### Migrating from conduwuit\n\nMigrating from conduwuit to Tuwunel _just works_. In technical parlance it is a \"binary swap.\"\nAll you have to do is update to the latest Tuwunel and change the path to the executable from\n`conduwuit` to `tuwunel`.\n\nAnything else named \"conduwuit\" is still recognized, this includes environment variables with prefixes\nsuch as `CONDUWUIT_`. In fact, `CONDUIT_` is still recognized for our legacy users. You may have\nnoticed that various configs, yamls, services, users, and other items were renamed, but if you\nwere a conduwuit user we recommend against changing anything at all. This will keep things simple.\nIf you are not sure please ask. If you found out that something did in fact need to be changed\nplease open an issue immediately.\n\n\n### Upgrading & Downgrading Tuwunel\n\nWe strive to make moving between versions of Tuwunel safe and easy. Downgrading Tuwunel is always\nsafe but often prevented by a guard. An error will indicate the downgrade is not possible and a\nnewer version which does not error must be sought.\n\n#### Branches\n\nThe main branch is always _reasonably safe_ to run. We understand the propensity for users to simply clone\nthe main branch to get up and running, and we're obliged to ensure it's always viable. Nevertheless, only\ntagged releases are true releases.\n\n#### Container Tracking\n\n> [!IMPORTANT]\n> **We strongly advise tracking the `:latest` tag when automatically updating.**\n\nTracking `:latest` gives us the necessary discretion to keep you on the appropriate stable release\nversion. Tracking the `:preview` tag provides select updates of higher confidence between releases.\nTracking the `:main` branch provides the most frequent updates which have been reviewed and tested\nwith confidence for release, the only remaining risk being the unknown. The publication frequency\nfor these tags are on average monthly, weekly and daily, respectively.\n\n### Getting Help & Support\n\nIf you are opposed to using github, or if private discussion is required such as for security\ndisclosures, or for any other reason, I would be happy to receive your DM at\n[@jason:tuwunel.me](https:\u002F\u002Fmatrix.to\u002F#\u002F@jason:tuwunel.me). This will not be bothering me as it would\nbe my pleasure to help you when possible. As an emergency contact you can send an email to\njasonzemos@gmail.com.\n\n##### Tuwunel Fanclub\n\nWe have an unofficial community-run chat which is publicly accessible at\n[#tuwunel:matrix.org](https:\u002F\u002Fmatrix.to\u002F#\u002F#tuwunel:matrix.org). The members, content, or moderation\ndecisions of this room are not in any way related or endorsed by this project or its sponsors,\nand not all project staff will be present there. There will be at least some presence by staff to\noffer assistance so long as the room remains in minimally good standing.\n\n\n## Tuwunel\u003Csup>💕\u003C\u002Fsup>\n\nTuwunel's theme is **empathy** in communication defined by the works of\n[Edith Stein](https:\u002F\u002Fplato.stanford.edu\u002Fentries\u002Fstein\u002F). Empathy is the basis for how we approach\nevery message and our responsibility to the other in every conversation.\n\n\u003C!-- ANCHOR_END: body -->\n\n\u003C!-- ANCHOR: footer -->\n\n\u003C!-- ANCHOR_END: footer -->\n","Tuwunel 是一个高性能的 Matrix 协议家庭服务器，完全用 Rust 语言编写。它实现了 Matrix 规范中的绝大部分功能，旨在成为一个可扩展、低成本且企业级的应用程序，适用于需要替代 Synapse 的场景。Tuwunel 支持各种客户端、桥接器和机器人，并通过 RocksDB 存储数据以保证高效性能。该项目是 conduwuit 的官方继承者，已经在瑞士政府等机构中部署使用，适合于任何需要稳定可靠的即时通讯解决方案的企业或社区。",2,"2026-06-11 03:45:09","high_star"]