• Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Gazeley's Achievements


Newbie (1/14)



  1. I'm having the same issue. I was completely stable on 6.11.5 and finally bit the bullet to upgrade to 6.12.4 Now my server is becoming unresponsive every day, and I'm forced to hold the power button down to shutdown. Diagnostics and Syslogs attached. Please help me. My family is becoming very annoyed that Plex/Chat/Mealie/HomeAssistant/etc keep going down for them.
  2. Yeah this is an annoying one. Couldn't figure out why some of my Home Assistant integrations stopped working for quite a while until I found this thread. I had even double checked that Docker setting to make sure it was still enabled, and it was, so I had ruled this out completely. Hope this is something can be fixed in an update soon
  3. I'm not aware of a way to do that from Synapse Admin, but you you can disable new user registration by adding this to your homerserver.yaml: enable_registration: false
  4. Hi @strauberry, I seem to remember having a similar network issue and for me the magic solution was this setting in opnsense. Do you have something similar in pfsense and is it checked? Thank you for documenting your experience. I'm sorry it hasn't gone smoothly (I can relate) but if you manage to get all the kinks worked out I'll update the guide from your feedback. I've already added the part about generating a registration key.
  5. Apparently the "--remote-debugging-address" flag only works for headless chromium. I'm guessing that's why I could connect to chromedp but not this. So I guess i'm stuck in a catch-22. I can have GUI chromium where I can login to the site I need, but can't connect to the session from another docker. Or I can have headless accessible from another docker, with no possible way to login to the site I need. 🤬 😭
  6. Thank you! That got it installed. The remote debugging doesn't seem to work though. With chromedp/headless-shell I was able to reach IP:9222/json/version from other machines and dockers, and I can't with this so far. I can reach localhost:9222/json/version from withing the chromium instance itself, but it doesn't seem to be accessible from anything else.
  7. And yes I added a 9222 port in the template
  8. For Chromium is there some way to enable remote debugging? I've tried using the flag: --remote-debugging-port=9222 but it says its not valid for some reason. I'm desperately trying to get something to work that requires a login and these are the only non-headless chromium dockers I can find. Help would be very appreciated.
  9. @m1rc0 Did you censor that for this post or did you forget to plug in your IP here?
  10. nginx proxy manager will work instead but I'm not familiar with it - couldn't tell you how to configure.
  11. A couple weeks ago I stumbled on this guide and decided to give it a go. Unfortunately much of it is outdated, and it took a lot of searching, troubleshooting, and help from @PSYCHOPATHiO to fill in the gaps. After hitting what feels like every possible snag I finally got it all working and wanted to share what I've learned. This guide doesn't include video chat, but it will give you a matrix server with an improved postgresql database, element web app, and voice chat. This guide will be assuming you already have swag setup (or know your way around an equivalent like nginx proxy manager). ------------------------------------------------------- DNS Setup: ------------------------------------------------------- • Create a CNAME record pointed to your unraid server. • I'll be using the "chat" subdomain in this guide but you can use what you'd like. (If you're on Cloudflare and want federation "Proxy status" has to be toggled to "DNS only". It works internally with a proxy but I couldn't communicate with other matrix servers). • Create an SRV record for the service _matrix targeted at your subdomain like so: • Create a CNAME record for element pointed to your unraid server: ------------------------------------------------------- Swag (proxy) Setup ------------------------------------------------------- Navigate to /appdata/swag/nginx/proxy-confs and create the following configs: element-web.subdomain.conf server { listen 443 ssl; server_name element.*; include /config/nginx/ssl.conf; client_max_body_size 0; location / { include /config/nginx/proxy.conf; resolver valid=30s; set $upstream_app element-web; set $upstream_port 80; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } matrix.subdomain.conf server { listen 443 ssl; listen [::]:443 ssl; server_name chat.*; include /config/nginx/ssl.conf; client_max_body_size 32M; location / { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app UNRAIDSERVERIP; set $upstream_port 8008; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } location ^~ /_matrix { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app UNRAIDSERVERIP; set $upstream_port 8008; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } location ^~ /.well-known/matrix/server { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app UNRAIDSERVERIP; set $upstream_port 8008; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } location ^~ /.well-known/matrix/client { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app UNRAIDSERVERIP; set $upstream_port 8008; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } • Change UNRAIDSERVERIP to your unraid IP in all 4 spots above. ------------------------------------------------------- Postgres Database Setup: ------------------------------------------------------- Matrix defaults to an SQLite database, but performance is better with postgres. Before installing matrix we'll prepare a database. • Search CA for "postgres" and install postgresql14 from jj9987. • Set a superuser password and leave the rest on default. • After installing open the console and enter the following commands to set a password for the default postgres user: su passwd postgres Now exit out of su (type: "exit") and login (type: "login") as the user postgres with the password you just created. Now we're going to create a superuser in the maintenance database named "matrix" in psql by running the following commands: psql CREATE USER matrix SUPERUSER PASSWORD 'passwordstring'; (replace passwordstring with your own password but leave the quotes) Now that we have a database superuser setup lets install pgadmin4 to make administration easier. Search CA for pgadmin4 and grab the one from FoxxMD. Enter an email/password into the template - email doesn't need to be functional it's just serving as a username. (It can take a minute to load after install so be patient with it.) • Login to pgadmin with the the email/password you just set. • Select Add New Server and give it a name (I used my unraid server name) • Go to the Connections tab and specify your unraid server IP in the host field. • Enter the database user matrix and passwordstring that you created above in psql. • Click Save and you should see your server pop up on the list to the left. Right click it and select Create > Database • Give the database a name (I named it matrix) and go to the Definition tab. Set everything just like this: • Click Save and you should see the database show up on the left. Now that we have a database ready to go its time to actually install matrix. ------------------------------------------------------- Matrix Setup: ------------------------------------------------------- • Go to CA and Install matrix from A75G. • Set "Network Type" to your custom proxy network. • Set "Server Name" to Leave the rest on default and install. Navigate to \appdata\matrix and edit the homeserver.yaml file to this: server_name: "" pid_file: /data/ web_client_location: public_baseurl: listeners: - port: 8008 tls: false type: http x_forwarded: true bind_addresses: [''] resources: - names: [client,federation] compress: false database: name: psycopg2 args: user: matrix password: "PASSWORDSTRING" database: matrix host: UNRAIDSERVERIP port: 5432 cp_min: 5 cp_max: 10 log_config: "/data/" media_store_path: "/data/media_store" suppress_key_server_warning: true report_stats: false macaroon_secret_key: "KEY1" form_secret: "KEY2" signing_key_path: "/data/" serve_server_wellknown: true trusted_key_servers: - server_name: "" ## TURN ## # The public URIs of the TURN server to give to clients turn_uris: ["", ""] # The shared secret used to compute passwords for the TURN server turn_shared_secret: "KEY3" # New User Registration registration_shared_secret: "KEY4" # vim:ft=yaml • Replace with your own in all spots • Change PASSWORDSTRING to your psql matrix user password • Change UNRAIDSERVERIP to your host IP. If you used something other than "matrix" for the database name/user then adjust accordingly. Open a terminal window and paste the following command: cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 This will give you a random string. Copy it and replace the macaroon_secret_key with it. Repeat this process for the form_secret, turn_shared_secret, and registration_shared_secret. Restart the matrix docker to apply changes. Now its time to create your first matrix user. Open the console again and paste the command: register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml Follow the prompts to create your matrix admin user. You should now have a functional matrix server. Feel free to log in and try it out. Visit to test federation. Also I recommend installing synapse-admin from A75G in CA for easier administration. (Install with all defaults and login with the admin user you just created above). ------------------------------------------------------- Element Setup: ------------------------------------------------------- First we need to manually create the config path and pull in the default config. • Open the unraid terminal and run the command: mkdir -p /mnt/user/appdata/element-web/config • Then download the default config by running: wget -O /mnt/user/appdata/element-web/config/config.json • In CA search for element-web by vectorim • Set the "Network Type" to your custom proxy. • Install • Navigate to /appdata/element-web/config and edit config.json • Change "default_server_name" to • And add under "roomDirectory" like so: • Save and restart element. Visit and test that it works. ( should also redirect to it). ------------------------------------------------------- Coturn Setup: ------------------------------------------------------- • Search for coturn by xthursdayx on CA. • Change Network Type to "Custom: br0" and give it its own static IP on your LAN • Delete all ports from template except 3478 TCP & UDP. • Install Next go to your firewall settings and forward the following ports: WAN UDP 3478 -> coturn static ip WAN UDP range 49152:49172 -> coturn static ip And lastly we have to edit our coturn settings. Navigate to /appdata/coturn and edit turnserver.conf so it looks like this: listening-port=3478 listening-ip= external-ip=COTURNIP min-port=49152 max-port=49172 lt-cred-mech use-auth-secret static-auth-secret=TURN_SHARED_SECRET total-quota=100 stale-nonce=600 • Change COTURNIP to the static IP you gave the coturn docker • Change TURN_SHARED_SECRET to the key you generated for that field in your homeserver.yaml file above. • Change realm and server-name to your subdomain. That's it. We're finally done. Make sure to restart coturn to apply your settings and then give it a try. ( is a great TURN troubleshooting tool if you have issues). ---------------------------------------------------------------------------------------------------------------------------------------------------- Hopefully if you've correctly followed all these steps you now have a fully functional matrix server with a few bells and whistles. This is what worked for me but I'm sure there's more elegant ways to do parts of this. I really struggled to get to this point and I AM NO EXPERT. I'm sure there's room for improvement so let me know if anything should be changed. I will do my best to keep it updated and implement suggested changes/improvements. Shoutout to @yinzer for the original guide and @HojojojoWololo for his supplemental post! And a huge thank you to @PSYCHOPATHiO for all of his help! I never would have gotten all this working without him. He runs a support channel at that was invaluable to me - If you have trouble feel free to drop in and we'll try to help.
  12. Yes, after some trial and error I finally got mine working via swag with the following proxy conf: # make sure that your dns has a cname set for stash server { listen 443 ssl; listen [::]:443 ssl; server_name stash.*; include /config/nginx/ssl.conf; client_max_body_size 0; location / { include /config/nginx/proxy.conf; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; resolver valid=30s; # your unraid server IP set $upstream_app YOURSERVERIP; # Stash's port set $upstream_port 9999; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } }
  13. I've probably spent a dozen hours on this but I'm still hitting snags all over the place. An updated guide seems necessary because apparently a lot has changed since the first couple pages in this thread. After combing through every post here I have a semi-working matrix server but: • I can't invite or chat with people outside of my server. Assuming this has something to do with federation but I have no idea what's wrong. • Element docker doesn't work. I get a generic "Your Element is misconfigured - Unexpected error resolving homeserver configuration" message. Pretty stumped on this because according to the setup guide all there is to do is add my domain to 2 spots in the config.json file.... not sure how I could have screwed it up. • I can't get Jitsi installed at all. I followed spaceinvaderone's video precisely but when it comes time to download/install the 4 docker images with that script, 2 of them throw a bunch of errors and fail to start. If anyone has any input it'd be appreciated. ------------------------------------------------------ ------------------------------------------------------ (EDIT 2) Finally fixed the federation issue! I've been tearing my hair out over this. Its been a Cloudflare issue all along - you have to toggle the "Proxy Status" on the CNAME record from the default "Proxied" to "DNS Only" I pass all checks at Also I fixed element by adding the following to the matrix homeserver.yaml: web_client_location: ------------------------------------------------------ ------------------------------------------------------ (EDIT 3) 😭 I spoke too soon. Switching the CNAME from 'Proxied' to 'DNS Only' did fix federation, but eventually it broke my subdomain to where I couldn't reach anymore. Somehow the issue is with DNS and Cloudflare and Federation but it's all over my head and I can't find any good documentation. ------------------------------------------------------ ------------------------------------------------------ (EDIT 4) Apparently if you want federation the subdomain ( needs to be an A record NOT a CNAME record. You also need to create an SRV record like so: After days of banging my head against the wall this finally got federation working for me. ------------------------------------------------------ ------------------------------------------------------ (EDIT 5) AAAAAHHHHHHHHHHH!!!! I spoke to ****ing soon again! After changing the Cloudflare settings above I finally pass the federation check - but I still can't chat with other users. This is a living nightmare but I'm in too deep to give up. ------------------------------------------------------ ------------------------------------------------------ (EDIT 6) *incoherent cursing and sobbing* ------------------------------------------------------ ------------------------------------------------------ (EDIT 7) Finally got it!!! 😄 The A record on Cloudflare has to be toggled to "DNS Only". I knew it was going to be something stupid simple. I've never had an issue with Cloudflare proxies before - but apparently matrix federation does not like it one bit. ------------------------------------------------------ ------------------------------------------------------ (EDIT 8 ) This is a goddamn Greek tragedy. I made the above edit while I was at work - on a different IP. But I just got home from work to discover I can't access at all, presumably because DNS doesn't work properly when the source and destination IP are the same. If I turn proxy back on everything works great internally but then I'm isolated to my own server with no federation again. Curse you @yinzer!!!! And you @HojojojoWololo!!! And everyone else who made this look easy and led me down this dark path! I rue the day I ever found this thread. ------------------------------------------------------ ------------------------------------------------------ (EDIT 9) I'm almost scared to write this for fear of tempting fate - but I seem to have resolved the issue. Turns out the issue was my firewall. I had to enable "Automatic outbound NAT for Reflection" in OPNsense under Firewall > Settings > Advanced. It's been a long hard road and this journey has transformed me. I'm no longer the same naive boy who thought setting up a matrix server would be a fun Saturday project. I'm now a grizzled veteran of unraid networking, a guru of OPNsense, and a master of matrix. But I've lost the gleam in my eye and the wind in my soul. homeserver.yaml config.json turnserver.conf matrix.subdomain.conf element-web.subdomain.conf
  14. If anyone else gets that permission error regarding "media_store", you have to edit your homeserver.yaml file's media_store_path to: media_store_path: /data/media_store Didn't see this mentioned in any other guides and it had me stuck for quite a while.
  15. I'm getting a "Machine Check Events detected on your server" error from Fix Common Problems. I have mcelog installed, and I'm guessing I can view the output from Tools > System Log (attached). The relevant portion seems to be this: Jun 19 09:36:02 ATHENA kernel: mdcmd (53): check resume Jun 19 10:32:29 ATHENA root: Fix Common Problems Version 2021.05.03 Jun 19 10:32:45 ATHENA root: Fix Common Problems: Error: Machine Check Events detected on your server Jun 19 10:32:45 ATHENA root: Hardware event. This is not a software error. Jun 19 10:32:45 ATHENA root: MCE 0 Jun 19 10:32:45 ATHENA root: CPU 0 BANK 9 TSC 15f03c48d4bb Jun 19 10:32:45 ATHENA root: MISC 908404000401c8c ADDR 63da91000 Jun 19 10:32:45 ATHENA root: TIME 1624065390 Fri Jun 18 18:16:30 2021 Jun 19 10:32:45 ATHENA root: MCG status: Jun 19 10:32:45 ATHENA root: MCi status: Jun 19 10:32:45 ATHENA root: Corrected error Jun 19 10:32:45 ATHENA root: MCi_MISC register valid Jun 19 10:32:45 ATHENA root: MCi_ADDR register valid Jun 19 10:32:45 ATHENA root: MCA: MEMORY CONTROLLER MS_CHANNEL0_ERR Jun 19 10:32:45 ATHENA root: Transaction: Memory scrubbing error Jun 19 10:32:45 ATHENA root: MemCtrl: Corrected patrol scrub error Jun 19 10:32:45 ATHENA root: STATUS 8c00004e000800c0 MCGSTATUS 0 Jun 19 10:32:45 ATHENA root: MCGCAP 1000c1b APICID 0 SOCKETID 0 Jun 19 10:32:45 ATHENA root: MICROCODE 42e Jun 19 10:32:45 ATHENA root: CPUID Vendor Intel Family 6 Model 62 Jun 19 10:32:45 ATHENA root: mcelog: warning: 8 bytes ignored in each record Jun 19 10:32:45 ATHENA root: mcelog: consider an update I'm running on a Supermicro server with dual Xeon E5-2670 v2 CPUs and ECC RAM. Everything seems to be working fine though. If I didn't have that error I'd have no reason to think anything was wrong.