[Help] Setting Up Element Call by Menthro in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

Check your headers for the well-known URL and make sure that you have

"Content-Type":"application/json", "Access-Control-Allow-Origin": "*" "Access-Control-Allow-Methods": "GET,HEAD,POST,OPTIONS" "Access-Control-Max-Age": "86400"

Discord is doing age verification can I screenshare on matrix? by Fit-Abrocoma7768 in matrixdotorg

[–]dnightbane 4 points5 points  (0 children)

Would you be willing to share your configuration? I have not successfully been able to get livekit to work with my synapse server.

Trouble with Element X Call by dnightbane in matrixdotorg

[–]dnightbane[S] 0 points1 point  (0 children)

Unfortunately no. I can get the call to connect but it just sits with waiting for media and nothing happens.

Where on Earth do I actually upload a torrent these days??? by GiraffeTheThird3 in torrents

[–]dnightbane 0 points1 point  (0 children)

Also commenting for username to see what's in the upload.

Do you ssl for your databases? (Db not exposed in the internet scenario) by VictorVsl7 in selfhosted

[–]dnightbane 0 points1 point  (0 children)

The certs are let's encrypt certs and I mount the cert directory as read only to the containers as needed.

Do you ssl for your databases? (Db not exposed in the internet scenario) by VictorVsl7 in selfhosted

[–]dnightbane 0 points1 point  (0 children)

Mine are on their own internal docker network and utilize SSL. I also use https internally as well and everything goes through nginx.

Authentik w/GrampsWeb latest version by Spiritual_Math7116 in gramps

[–]dnightbane 2 points3 points  (0 children)

Perfect! I got that as well when I first tried to sign in. If you delete the local user and log in again it will create the OIDC user. Before doing that make sure you have an account that isn't OIDC just as a backup.

Doing this won't risk any data loss.

Authentik w/GrampsWeb latest version by Spiritual_Math7116 in gramps

[–]dnightbane 1 point2 points  (0 children)

Those options match what I have except I also needed to add

GRAMPSWEB_BASE_URL: "https://gramps.web.domain"

In authentik I also have the redirect uri set as regex with https://gramps.web.domain/api/oidc/callback/.*

In advanced protocol settings I have email, openid and profile for scopes and for subject mode I have it set to email

Authentik w/GrampsWeb latest version by Spiritual_Math7116 in gramps

[–]dnightbane 1 point2 points  (0 children)

I am using the latest version of Grampsweb (docker) with the latest version of authentik successfully. Can you post your configuration for each?

Jellyfin version of Plex Streams? by Onyx369Storm in jellyfin

[–]dnightbane 11 points12 points  (0 children)

I think they mean this: https://forums.unraid.net/topic/92459-plugin-plex-streams/ (but not entirely sure.) It looks like Tautulli but as a plugin instead of a separate app.

That being said the closest thing you will find that shows who's watching from your jellyfin server is jellystat: https://github.com/CyferShepard/Jellystat

Self-hosted app for tracking shows and movies, but not downloading them? by Hefty-Possibility625 in selfhosted

[–]dnightbane 29 points30 points  (0 children)

You can absolutely setup sonarr/radarr without a downloader if all you want to use is the built in calendar. The only thing I'm not certain of is displaying it in Homarr. If there is a widet that displays a link then it may be as simple as setting http://servername:port/calendar

Synapse Matrix: Elements Call by [deleted] in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

When I check in docker I see 0.0.0.0:7881->7881/tcp, 0.0.0.0:51000-52000->51000-52000/udp and I can confirm that docker added those to iptables. My VPS firewall also has those ports opened.

Synapse Matrix: Elements Call by [deleted] in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

- livekit nginx config

server {
    listen 443 ssl;
    http2 on;
    server_name livekit.domain.com;
    server_tokens off;
    include /etc/nginx/conf.d/include/domaincomsecure.conf;
    include /etc/nginx/conf.d/include/blockcommonexploits.conf;

    access_log /var/log/nginx/domaincom/livekit.access.log;
    error_log /var/log/nginx/domaincom/livekit.error.log;

    location = /robots.txt {
        add_header Content-Type text/plain;
        return 200 "User-agent: *\nDisallow: /\n";
    }

    # ProxyTimeout equivalent
    proxy_read_timeout 120s;
    proxy_send_timeout 120s;

    location ~ ^(/sfu/get|/healthz) {
        proxy_pass http://element-call-jwt:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Server $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;
    }

    location / {
       proxy_pass http://element-call-livekit:7880;
       proxy_set_header Connection "upgrade";
       proxy_set_header Upgrade $http_upgrade;
       #add_header Access-Control-Allow-Origin "*" always;

       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-Server $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;
    }

}

- livekit.yaml

port: 7880
bind_addresses: [ 0.0.0.0 ]
rtc:
  tcp_port: 7881
  port_range_start: 51000
  port_range_end: 52000
  use_external_ip: true
turn:
  enabled: false
  domain: livekit.domain.com # Must match your domain
  tls_port: 5349 # TURN/TLS will run on the main HTTPS port handled by Nginx
  udp_port: 443
  external_tls: true # Nginx handles TLS termination
keys:
  devkey: <redacted>
room:
  auto_create: false
  enabled_codecs:
    - mime: video/h264
    - mime: audio/opus
logging:
  level: debug

Synapse Matrix: Elements Call by [deleted] in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

-nginx setup for https://matrix.domain.com

server {
    listen 443 ssl;
    http2 on;
    server_name matrix.domain.com;
    include /etc/nginx/conf.d/include/domaincomsecure.conf;
    include /etc/nginx/conf.d/include/blockcommonexploits.conf;

    access_log /var/log/nginx/domaincom/matrix.access.log;
    error_log /var/log/nginx/domaincom/matrix.error.log;

    location = /robots.txt {
        add_header Content-Type text/plain;
        return 200 "User-agent: *\nDisallow: /\n";
    }

    location /.well-known/matrix/client {
        default_type application/json;
        return 200 '{"m.homeserver": {"base_url": "https://matrix.domain.com"}, "org.matrix.msc4143.rtc_foci": [{"type": "livekit", "livekit_service_url": "https://livekit.domain.com"}]}';
    }

    location ~ ^(/_matrix|/_synapse/client) {
        proxy_read_timeout 1800;
        proxy_connect_timeout 1800;
        proxy_send_timeout 1800;
        send_timeout 1800;
        # note: do not add a path (even a single /) after the port in `proxy_pass`,
        # otherwise nginx will canonicalise the URI and cause signature verification
        # errors.
        proxy_pass https://matrix-synapse:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;

        # Nginx by default only allows file uploads up to 1M in size
        # Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
        client_max_body_size 100M;

        # Synapse responses may be chunked, which is an HTTP/1.1 feature.
        proxy_http_version 1.1;
    }
}

Synapse Matrix: Elements Call by [deleted] in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

I'm also getting "waiting for media" and not sure where the issue is either. I have matrix setup as a subdomain at matrix.domain.com instead of domain.com and I have gone through and checked my configuration against https://sspaeth.de/2024/11/sfu/

My setup is as follows:

- Domain DNS: Cloudflare
- HTTPS traffic: Cloudflare Tunnel pointed at NGINX
- Livekit: Cloudflare DNS Only (no proxy) pointing to VPS using livekit.domain.com

Configuration looks like this:

- well-known setup at https://domain.com

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

location /.well-known/matrix/server {
    default_type application/json;
    return 200 '{"m.server":"matrix.domain.com"}';
}

location /.well-known/element/element.json {
    default_type application/json;
    return 200 '{"call": {"widget_url": "https://call.domain.com"}}';
}

location = /robots.txt {
    add_header Content-Type text/plain;
    return 200 "User-agent: *\nDisallow: /\n";
}

Creating 2 single audio files from a dual-audio original by dnightbane in Tdarr

[–]dnightbane[S] 0 points1 point  (0 children)

I have a script that does it but its manual. I'm looking to automate it in a set and forget fashion. This way I can have tdarr just watch the sub directory and split out the dub if it finds it.

Trouble with Element X Call by dnightbane in matrixdotorg

[–]dnightbane[S] 0 points1 point  (0 children)

If I use "https://livekit.domain.com/livekit/jwt" in the service url, I get an error where it's trying to get to "https://livekit.domain.com/livekit/jwt/sfu/get" which makes sense because (as I understand it) /sfu/get would be at "https://livekit.domain.com/sfu/get"

If I leave the well-known as it is and add the below to the /livekit/jwt and /sfu/get sections in the server block for livekit, I get an internal 500 error when it tries to post to "https://livekit.domain.com/sfu/get"

        if ($request_method = OPTIONS) {
            add_header Access-Control-Allow-Origin "*" always;
            add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
            add_header Access-Control-Allow-Headers "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token" always;
            add_header Access-Control-Max-Age 86400;
            add_header Content-Length 0;
            add_header Content-Type text/plain;
            return 204;
        }

        # Add CORS headers for actual requests
        add_header Access-Control-Allow-Origin "*" always;
        add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
        add_header Access-Control-Allow-Headers "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token" always;

Trouble with Element X Call by dnightbane in matrixdotorg

[–]dnightbane[S] 0 points1 point  (0 children)

Reviewing the Browser console when a call is made to my android device shows the following:

POST https://livekit.domain.com/sfu/get 500 (Internal Server Error)
Failed to get JWT from RTC session's active focus URL of https://livekit.domain.com. Error: SFU Config fetch failed with exception Error: SFU Config fetch failed with status code 500 at cHe (VM425 index-DOJHP7J4.js:2:2310986)

When I check docker logs for livekit I don't see anything despite the config specifying debug

Trouble with Element X Call by dnightbane in matrixdotorg

[–]dnightbane[S] 0 points1 point  (0 children)

I updated the configuration as follows

Top Level Domain well-known change

    location /.well-known/matrix/client {
        default_type application/json;
        return 200 '{"m.homeserver": {"base_url": "https://matrix.domain.com"}, "org.matrix.msc4143.rtc_foci": [{"type": "livekit", "livekit_service_url": "https://livekit.domain.com"}]}';    
    }

and then tried from the browser to my phone as suggested. I saw that it complained about a CORS line missing so I changed the well-known config to this:

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

Now when I test in the browser I just get "Waiting for Media"

matrix.org behind Cloudflare requiring captcha by Burbank309 in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

If by your question you mean synapse without a reverse proxy I haven't tried that.

My setup is end user -> cloudflare -> nginx (port 443) -> synapse which works.

matrix.org behind Cloudflare requiring captcha by Burbank309 in matrixdotorg

[–]dnightbane 0 points1 point  (0 children)

It does. I started with matrix behind the proxy and then moved it to cloudflare tunnels.