• 2 Posts
  • 10 Comments
Joined 1Y ago
cake
Cake day: Jul 04, 2023

help-circle
rss

XMPP and whatsapp bridge
Hello everyone! I currently selfhost a matrix server but, seeing everyone talking about xmpp, I decided to try again with that one. I did try about 8-9 years ago but couldn't make it work (don't remember the issue, probably pebkac). My requirements are: - e2ee (I see OMEMO is the solution for this); - audio/video calls (looks like all the main clients/servers supports this with SIP or similar); - whatsapp bridge: this is very important as I currently use my matrix with element to chat (not calls) with all the whatsapp contacts. Would be nice if the server runs with docker images (but I see Prosody has the option so not an issue). So basically I am a bit stumped only on the whatsapp bridge thing. I see some github repos for that but they all seem quite old. Any help, pointers, suggestions would be appreciated. Thanks!
fedilink

I have been using opnsense on a very cheap celeron nuc for a few years, very happy with it


As everyone said, debian. I use it for my mail server, the docker server, podman server, matrix, headscale. On docker I also have nvidia drivers for hardware video decoding in jellyfin.


one a VM, the other a container, with different upstream targets. I have to schedule maintenance when everyone is asleep or out of the house. I’ll swear one day I’ll have a proper (raspberry pi) cluster with KVM, I just need to finish implementing the other million things I find when I research it.


I assume you have configured raspberry to start the desktop environment when at boot. Also, that this is on the internal lan only. You can run raspiconfig and enable vnc. Then from your laptop run a vnc client and connect to the server.


looking at the install instructions it doesn’t say you have to use CF cert, only the api token in the conf.env file. So if you have done that you should be ok.

I’m curious about the DNS thing from your registrar. If they are the authoritative DNS, even putting the right records in CF won’t make a difference. But maybe you can tell your registrar that CF DNS is authoritative, by creating a SOA DNS record in your registrar, pointing at CF DNS (I can only fnid references to 1.1.1.1 or adam.ns.cloudflare.com).

Looking at the deployment templates it doesn’t say that you have to use ANY certificate. I think caddy generates one (or import one from CF) at deployment. If I was you I’d start from scratch with a new OS installation WITHOUT nginx/apache. Base OS, docker/docker-compose, and run the script again (after you fixed the DNS). If you want to find who is the SOA for your domain I think the command should be dig @9.9.9.9 SOA youlemmydomain.com

That should answer with the CF DNS you configured.

Also a dig @9.9.9.9 youlemmydomain.com should answer with the A records you configured in CF.


As other people said, there is already a process running on port 80. To find what exactly you can use the command sudo ss -lptn 'sport = :80' or sudo netstat -nlp | grep :80 (both require)

Also, what do you mean by

I have SSL pre-isntalled with the server

It’s a self-signed cert or letsencrypt (or similar)?

Looking at the Ubergeek77 method, I can see in the docker-compose that they have specified to use caddy to run on port 80 and 443. So my guess is that you don’t need neither nginx nor Apache (caddy is a reverse proxy as well) . Also, why have you installed both? I guess you selected “web server” during the OS installation.

So remove apache and nginx, and try running the install script again.


The ultimate boss fight is hosting your email server AND making your family use it


Happy sysadmin day!
May the uptime be long and the logs without errors (and not just because logging is broken!)
fedilink

I know it’s linux and you never reboot it and yadda yadda, but have you tried rebooting both machines?

For what it’s worth, that’s my fstab entry (it’s mounted with a normal user, which is the same which the containers use). I seem to remember I had to change ownership of the /mnt/nasdownload folder (before the mount) to the user used to mount it.

//192.168.1.10/Download /mnt/nasdownload cifs auto,user,uid=1000,gid=1000,rw,iocharset=utf8,suid,credentials=/root/.smbgringo,file_mode=0770,dir_mode=0770,_netdev,vers=3.0 0 0