User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
matrix:conduwuit [2025/03/11 08:39] – [Reverse proxy] willymatrix:conduwuit [2025/10/01 07:44] (current) willy
Line 1: Line 1:
-====== Conduwuit ======+====== A) Server: Continuwuity ======
  
-[[https://conduwuit.puppyirl.gay/|Conduwuit]] is a Matrix server written in RUST,  it is a new, well supported, lightweight implementation of a Matrix server. I also tried Synapse, the classic Matrix serverbut ended up with Conduwuit that proved itself more lightweight and much easier to implement and maintain.+**Note:** Sadly, Conduwuit project has been abandoned by the current devs and archived. Conduwuit is deprecated, the following instructions are left for historical reference only, **DO NOT FOLLOW**. 
 + 
 +[[https://forgejo.ellis.link/continuwuation/continuwuity/|Continuwuity]] is a Matrix server written in RUST,  it is a fast developing but already well supported and stable, lightweight implementation of a Matrix server. It is the continuation of the now dead Conduwuitwhich was a continuation of the now frozen Conduit. 
 + 
 +__Note:__ there is another fork of Conduwuit out there, it's called TuwunnelThe reasons why i choose Continuwuity are: 
 +  * Fully community based projct (Tuwunnel is sponsored by a for-profit company) 
 +  * Active community  
 +  * Fast response to tickets 
 +  * Very active development
  
 ===== Installation ===== ===== Installation =====
  
-Installation instructions: [[https://conduwuit.puppyirl.gay/deploying/generic.html|here]]. While there is a docker approach, it is so simple to install on bare-metal that i preferred this approach to the container one. Actuall accessing the conduwuit command-line admin console is a pain with container, while it's so easy from the prebuilt-binary.+Installation instructions: [[https://continuwuity.org/deploying/generic|here]]. While there is a docker approach, it is so simple to install on bare-metal that i preferred this approach to the container one. Actuall accessing the conduwuit command-line admin console is a pain with container, while it's so easy from the prebuilt-binary.
  
 Create user and required folders: Create user and required folders:
 <code bash> <code bash>
-seradd -d /data/daemons/conduwuit conduwuit +seradd -d /data/daemons/continuwuity continuwuity 
-mkdir -p /data/conduwuit/db /var/log/conduwuit +mkdir -p /data/continuwuity/db /var/log/continuwuity 
-chown conduwuit:conduwuit /data/conduwuit /var/log/conduwuit -R+chown continuwuity:continuwuity /data/continuwuity /var/log/continuwuity -R
 </code> </code>
  
-Download the correct executable from [[https://github.com/girlbossceo/conduwuit/releases|GitHUB releases page]]. You should pick the one for your architecture. For example, for Linux 64bit would be **static-x86_64-unknown-linux-musl**:+Download the correct executable from [[https://forgejo.ellis.link/continuwuation/continuwuity/releases|EllisHub releases page]]. You should pick the one for your architecture. For example, for Linux 64bit would be **conduwuit-linux-amd64**:
 <code bash> <code bash>
-su - conduwuit+su - continuwuity
 mkdir bin mkdir bin
 cd bin cd bin
-wget https://github.com/girlbossceo/conduwuit/releases/download/<< version >>/static-x86_64-unknown-linux-musl+wget https://forgejo.ellis.link/continuwuation/continuwuity/releases/download/<< version >>/conduwuit-linux-amd64
 </code> </code>
  
  
-===== Configuration of Conduwuit server =====+===== Configuration of Continuwuity server =====
  
-The official Conduwuit configuration documentation can be found [[https://conduwuit.puppyirl.gay/configuration.html|here]].+The official Continuwuity configuration documentation can be found [[https://https://continuwuity.org/configuration.html|here]].
  
-Now, you cannot start Conduwuit withour a proper configuration file. I suggest you to put it under **/data/conduwuit/conduwuit.toml**, and here is an example to start from: +Now, you cannot start Continuwuity withour a proper configuration file. I suggest you to put it under **/data/continuwuity/continuwuity.toml**, and here is an example to start from: 
-<file /data/conduwuit/conduwuit.toml>+<file /data/continuwuity/continuwuity.toml>
 [global] [global]
 server_name = "chat.mydomain.com" server_name = "chat.mydomain.com"
 address = ["127.0.0.1", "::1"] address = ["127.0.0.1", "::1"]
 port = 6167 port = 6167
-database_path = "/data/conduwuit/db"+database_path = "/data/continuwuity/db"
 new_user_displayname_suffix = "-|" new_user_displayname_suffix = "-|"
 allow_check_for_updates = false allow_check_for_updates = false
Line 48: Line 56:
 You are now ready for testing your installation. You are now ready for testing your installation.
  
 +==== Configuration of Continuwuity server ====
  
 +To access the admin console, you need to type CTRL+C on the server command line. You can do this if you start the server manually and not automatically. So if you need the admin console to create the admin user or in general in the future, remember this.
  
 ===== Manual startup ===== ===== Manual startup =====
  
-To run Conduwuit server, run the following command as **conduwuit** user:+To run Continuwuity server, run the following command as **continuwuity** user:
 <code bash> <code bash>
-/data/daemons/bin/static-x86_64-unknown-linux-musl -c /data/conduwuit/conduwuit.toml+/data/daemons/bin/conduwuit-linux-amd64 -c /data/continuwuity/continuwuity.toml
 </code> </code>
  
Line 73: Line 83:
 https://federationtester.matrix.org/#chat.mydomain.com https://federationtester.matrix.org/#chat.mydomain.com
 </code> </code>
- 
  
 ===== Reverse proxy ===== ===== Reverse proxy =====
Line 82: Line 91:
 server { server {
         server_name chat.mydomain.com;         server_name chat.mydomain.com;
 +        # Port 8443 goes to external connection (internet)
         listen 8443 ssl;          listen 8443 ssl; 
 +        # Port 443 is used for internal connections (home)
         listen 443 ssl;          listen 443 ssl; 
         http2 on;         http2 on;
Line 90: Line 101:
  
         location / { # this is to provide a web client, see the ElementWeb page...         location / { # this is to provide a web client, see the ElementWeb page...
-                root /data/daemons/conduwuit/element-web;+                root /data/daemons/continuwuity/element-web
 +        } 
 +         
 +        # for the health test 
 +        location /_conduwuit/server_version { 
 +                proxy_pass                      http://127.0.0.1:6167/_conduwuit/server_version; 
 +                proxy_http_version      1.1;
         }         }
  
         location ~ ^(/_matrix|/client) {         location ~ ^(/_matrix|/client) {
 +                # The $request_uri is MANDATORY to avoid URI being modifyed by NGINX
                 proxy_pass                      http://127.0.0.1:6167$request_uri;                 proxy_pass                      http://127.0.0.1:6167$request_uri;
                 proxy_set_header                X-Forwarded-For $remote_addr;                 proxy_set_header                X-Forwarded-For $remote_addr;
Line 102: Line 120:
                 proxy_http_version      1.1;                 proxy_http_version      1.1;
         }         }
 +        # This is needed for federation
         location /.well-known/matrix/server {         location /.well-known/matrix/server {
                 default_type                    application/json;                 default_type                    application/json;
Line 108: Line 126:
                 return                          200 '{"m.server": "chat.mydomain.com:443"}';                 return                          200 '{"m.server": "chat.mydomain.com:443"}';
         }         }
 +        # Enable snail sync for Element X and client access info in general
         location /.well-known/matrix/client {         location /.well-known/matrix/client {
                 default_type                    application/json;                 default_type                    application/json;
Line 147: Line 166:
  
 Since i use OpenRC, simply drop the following script to /etc/init.d: Since i use OpenRC, simply drop the following script to /etc/init.d:
-<file - /etc/init.d/conduwuit>+<file - /etc/init.d/continuwuity>
 #!/sbin/openrc-run #!/sbin/openrc-run
 # Copyright 2025 Gentoo Authors # Copyright 2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
  
-name="conduwuit daemon" +name="continuwuity daemon" 
-description="Conduwuit Matrix server" +description="Continuwuity Matrix server" 
-pidfile="/run/conduwuit.pid"+pidfile="/run/continuwuity.pid"
 command_background=true command_background=true
-command="/data/daemons/conduwuit/bin/static-x86_64-linux-musl+command="/data/daemons/continuwuity/bin/conduwuit-linux-amd64
-command_args="-c /data/conduwuit/conduwuit.toml" +command_args="-c /data/continuwuity/continuwuity.toml" 
-command_user="conduwuit:conduwuit+command_user="continuwuity:continuwuity
-output_log="/var/log/conduwuit/conduwuit.log" +output_log="/var/log/continuwuity/continuwuity.log" 
-output_err="/var/log/conduwuit/conduwuit.log"+output_err="/var/log/continuwuity/continuwuity.log"
  
 depend() { depend() {
Line 169: Line 188:
 Make it executable and add to the proper runlevel: Make it executable and add to the proper runlevel:
 <code bash> <code bash>
-chmod +x /etc/init.d/conduwuit +chmod +x /etc/init.d/continuwuity 
-rc-update add conduwuit default+rc-update add continuwuity default
 </code> </code>