Jump to content

[SUPPORT] CONDUIT


Recommended Posts

Overview: Support thread for Conduit

Application: Conduit - https://conduit.rs

About: A simple self-contained Rust-based Matrix server. Fully configurable with Environment Variables! (Beta)

Docker Hub: https://hub.docker.com/r/matrixconduit/matrix-conduit

Git Repo: https://gitlab.com/famedly/conduit

Documentation: https://gitlab.com/famedly/conduit

NGINX Conf: https://github.com/dannymate/unraid-templates/tree/master/Conf Samples/SWAG/nginx/proxy-confs

 

What is the current status?

Conduit is Beta, meaning you can join and participate in most Matrix rooms, but not all features are supported and you might run into bugs from time to time.

There are still a few important features missing:

- E2EE emoji comparison over federation (E2EE chat works)

- Outgoing read receipts, typing, presence over federation (incoming works)

Check out the Conduit 1.0 Release Milestone.

 

Please post any questions/issues relating to this docker you have in this thread.

Edited by jimrummy101
Link to comment
On 7/29/2023 at 9:35 AM, Joshndroid said:

Thanks for sorting this docker.

With the nginx conf samples, is there any guide potentially in the works for ngninx proxy manager or similar? (personally i run NPM)

Apologies for the late response. I don't have any experience with reverse proxies other than nginx. I also only have the 1 server so testing stuff is a bit of a nightmare. If you have managed to get this working with other reverse proxies and document the process I'd be happy to add it to the Github.

Link to comment
  • 1 month later...
  • 2 months later...

I need some help, I can't get this container to run.

 

Upon the first run, I'm seeing this in my docker logs:

The database couldn't be loaded or created error=RocksDbError { source: Error { message: "IO error: While open a file for appending: /var/lib/matrix-conduit/LOG: Permission denied" } }

I didn't change the default permissions in the container config and they are as follows:

PUID: 99
PGUID: 100

UMASK: 22

 

The conduit folder is empty and shows the following from "ls -la":

drwxr-xr-x 1 nobody users 10

 

Link to comment
On 12/6/2023 at 8:31 PM, avi0n said:

I need some help, I can't get this container to run.

 

Upon the first run, I'm seeing this in my docker logs:

The database couldn't be loaded or created error=RocksDbError { source: Error { message: "IO error: While open a file for appending: /var/lib/matrix-conduit/LOG: Permission denied" } }

I didn't change the default permissions in the container config and they are as follows:

PUID: 99
PGUID: 100

UMASK: 22

 

The conduit folder is empty and shows the following from "ls -la":

drwxr-xr-x 1 nobody users 10

 

 

I have the same problem, did you solve this? How?

Link to comment
5 hours ago, pappageek said:

 

I have the same problem, did you solve this? How?

Yes, I looked into Conduit's Dockerfile and it looks like they're using PUID:PGID of 1000:1000. So after changing from 99:100 to 1000:1000 it worked. I'd prefer a way to have it work via 99:100, but at least it's working now.

Edited by avi0n
  • Like 1
Link to comment
  • 4 weeks later...
On 12/11/2023 at 2:40 PM, avi0n said:

Yes, I looked into Conduit's Dockerfile and it looks like they're using PUID:PGID of 1000:1000. So after changing from 99:100 to 1000:1000 it worked. I'd prefer a way to have it work via 99:100, but at least it's working now.

Sorry for getting back so late. I have updated the template to use the 1000:1000 value. It's not ideal but it works and that's more important. Thanks for the information :)

Link to comment
  • 1 month later...
2024-02-11T20:23:17.994657Z ERROR conduit: The database couldn't be loaded or created error=RocksDbError { source: Error { message: "IO error: While open a file for appending: /var/lib/matrix-conduit/LOG: Permission denied" } }

Any ideas? I see the uid and gid is 1000 but I guess thats normal. I can't imagine why it doesn't have access to a directory it made for itself so I'm a little stumped.

Link to comment
On 2/11/2024 at 8:27 PM, cammelspit said:
2024-02-11T20:23:17.994657Z ERROR conduit: The database couldn't be loaded or created error=RocksDbError { source: Error { message: "IO error: While open a file for appending: /var/lib/matrix-conduit/LOG: Permission denied" } }

Any ideas? I see the uid and gid is 1000 but I guess thats normal. I can't imagine why it doesn't have access to a directory it made for itself so I'm a little stumped.

I didn't see your message. It shouldn't be happening, I need a test machine really. A quick fix is to open the unraid terminal and run "chmod -R 777 /mnt/user/appdata/conduit".

 

It should take ownership of the folder after running the command.

Link to comment
  • 1 month later...

Hey there, I was able to get everything installed and it seems to be working well. However I'm not able to sign into the server using certain apps on android. For example, when trying to sign in using Element on Android, I type in a Server URL and get an error "M_UNRECOGNIZED: Unrecognized request" and on my logs I get:

WARN conduit: Not found: /.well-known/matrix/client

This issues is only on some apps.I've tried Element, SchildiChat, and FluffyChat, and FluffyChat on android does work. However Element does successfully sign in on iOS, web, and Linux. Is there something I can do to fix this? Thanks =)

Link to comment
12 minutes ago, Zachary.Griffin208 said:

Hey there, I was able to get everything installed and it seems to be working well. However I'm not able to sign into the server using certain apps on android. For example, when trying to sign in using Element on Android, I type in a Server URL and get an error "M_UNRECOGNIZED: Unrecognized request" and on my logs I get:

WARN conduit: Not found: /.well-known/matrix/client

This issues is only on some apps.I've tried Element, SchildiChat, and FluffyChat, and FluffyChat on android does work. However Element does successfully sign in on iOS, web, and Linux. Is there something I can do to fix this? Thanks 😃

Are you using my recommended nginx/swag config: https://github.com/dannymate/unraid-templates/blob/13ca70f279ebca4c94728f1d0f7593681e93134f/Conf Samples/SWAG/nginx/proxy-confs/conduit.subdomain.conf.sample

 

Specifically the "### Server delegation stuff" section relates to the issue you're having. Make sure to change the "matrix.my.domain" bits to your domain.

 

If you're using a different reverse proxy then you can probably quite easily adapt it.

Link to comment
1 hour ago, jimrummy101 said:

Are you using my recommended nginx/swag config: https://github.com/dannymate/unraid-templates/blob/13ca70f279ebca4c94728f1d0f7593681e93134f/Conf Samples/SWAG/nginx/proxy-confs/conduit.subdomain.conf.sample

 

Specifically the "### Server delegation stuff" section relates to the issue you're having. Make sure to change the "matrix.my.domain" bits to your domain.

 

If you're using a different reverse proxy then you can probably quite easily adapt it.

I'm not using swag, but I am using NGINX Proxy Manager. Would it need to be swag specifically?

Link to comment
1 minute ago, Zachary.Griffin208 said:

I'm not using swag, but I am using NGINX Proxy Manager. Would it need to be swag specifically?

Nah any reverse proxy should work. You just need to adapt the config. The config I gave you is an NGINX config so in theory should usable with NGINX Proxy Manager. That being said I've never used NGINX Proxy Manager so not sure how it handles configs.

Link to comment
9 minutes ago, jimrummy101 said:

Nah any reverse proxy should work. You just need to adapt the config. The config I gave you is an NGINX config so in theory should usable with NGINX Proxy Manager. That being said I've never used NGINX Proxy Manager so not sure how it handles configs.

Okay. I'll look into getting that to work with NGINX Proxy Manager. Thanks for the help!

Link to comment
6 hours ago, Zachary.Griffin208 said:

Okay. I'll look into getting that to work with NGINX Proxy Manager. Thanks for the help!

 

Okay, here is the solution for anyone else that might run into this:

In Nginx Proxy Manager, go to "proxy hosts" and edit your proxy. Go to the advanced tab and paste this:

 

location /.well-known/matrix/server {
     return 200 '{"m.server": "matrix.minnix.dev:443"}';
     default_type application/json;
     add_header Access-Control-Allow-Origin *;

}

     location /.well-known/matrix/client {
     return 200 '{"m.homeserver": {"base_url": "https://matrix.minnix.dev"}}';
     default_type application/json;
     add_header Access-Control-Allow-Origin *;

  }

 

Change "matrix.minix.dev" to your domain in both locations. Save.

Found answer here: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/1893#issuecomment-1054000169

  • Like 1
Link to comment
  • 2 weeks later...
Posted (edited)

I have updated the template and the nginx conf (in the main post). Hopefully that should be reflected soon for everyone. The NGINX conf is not required but if you have issues then give it a look and apply the changes.

 

The lines I added into the template in case you have issues (they're hidden in the advanced section because they shouldn't need changing):

  <Config Name="CONDUIT_DATABASE_PATH" Target="CONDUIT_DATABASE_PATH" Default="/var/lib/matrix-conduit/" Mode="" Description="" Type="Variable" Display="advanced-hide" Required="false" Mask="false">/var/lib/matrix-conduit/</Config>
  <Config Name="CONDUIT_PORT" Target="CONDUIT_PORT" Default="6167" Mode="" Description="" Type="Variable" Display="advanced-hide" Required="false" Mask="false">6167</Config>
  <Config Name="CONDUIT_CONFIG" Target="CONDUIT_CONFIG" Default="" Mode="" Description="" Type="Variable" Display="advanced-hide" Required="false" Mask="false"/>

 

So:

Variable: CONDUIT_DATABASE_PATH - /var/lib/matrix-conduit/

Variable: CONDUIT_PORT - 6167

Variable: CONDUIT_CONFIG - leave empty

Edited by jimrummy101
  • Like 1
Link to comment
2 minutes ago, Zachary.Griffin208 said:

The latest update seemed to have broken it for me:

thread 'main' panicked at src/main.rs:53:55:
The CONDUIT_CONFIG env var needs to be set. Example: /etc/conduit.toml
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

 

Yeah it seems my template changes haven't made it to those who already have it installed you need to add these variables:

Variable: CONDUIT_DATABASE_PATH - /var/lib/matrix-conduit/

Variable: CONDUIT_PORT - 6167

Variable: CONDUIT_CONFIG - leave empty

Link to comment
52 minutes ago, jimrummy101 said:

Yeah it seems my template changes haven't made it to those who already have it installed you need to add these variables:

Variable: CONDUIT_DATABASE_PATH - /var/lib/matrix-conduit/

Variable: CONDUIT_PORT - 6167

Variable: CONDUIT_CONFIG - leave empty

I tried this, but I must have typed something incorrectly. This did fix it, thanks!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...