

Gomuks and Sable


Gomuks and Sable


Pihole would be easy for a RPi 4. I’d also consider AdGuard Home which does the same thing, but has out-of-the-box support for encrypted upstream resolvers. I eventually moved on to Technitium for more advanced use cases (hosting my own domains, native config syncing between nodes), albeit it can use a bit more RAM.


Hi, as someone running their Matrix server on the same ware (using Continuwuity)I have some thoughts:
I’d also like to rehash what the other commenter say in that you’d get much more juice out of a mini PC or some other non-embedded devices. This is for all your software anyhow.
And yes, Continuwuity can run in docker compose. There’s a few example files for it on the site, feel free to check it out and ask in the support room.


I’d prefer Adguard Home. Does the same thing but also supports encrypted DoT/DoQ/DoH upstreams. And the UI looks a bit neater for me


Since nobody mentioned, I recommend https://desec.io/ as the DNS provider. Has a good REST API to update records, also provides a dedyn.io dynamic domain, and runs as a nonprofit. I think ddclient will also support it natively in the next release as well.
The solution of renting a VPS also works but usually incurs some cost. You might also want to look into Cloudflare Tunnels


Hi all, thanks again for the valuable insights, I really appreciate your comments. I realized I’ve overlooked a few topologies, namely that of having granular accounts for different admining purposes/different services (and using different names for them). Also, my IDP (Kanidm) also has a service accounts feature which can be delegated to real human accounts, so I think I should also be looking into that.
It’d be nice to have something like a “second password” for granting temporary privileged access to other apps’ admin commands, but OIDC doesn’t work this way sadly. Lastly I’d also need to consider managing SSH and non-app stuff as well.


Hi, I’ve been running something similar with Tailscale. Instead of traefik, you can use any other TCP proxy like nginx or caddy-l4, or even use tailscale serve on the edge VPS as well. Do note that all of your listed services except Zola will make outbound requests, so it could be better to also exit node through the VPS (like the article did), as to avoid exposing your residential IP.
As for the linked personas, you may wanna use one domain instead of two. Matrix homeservers can be resource-heavy for example, so maybe consider @persona1:example.com and @persona2:example.com on a single server instead of having two resource hubs that does essentially the same thing. The same applies to GotoSocial and Lemmy. By the way, I recommend Continuwuity for the Matrix server :)
Static sites don’t actively take up resources, so they can be on separate domains. But again you may wanna save some money, so maybe consider using persona1/persona2.example.com subdomains, or even pubnix-style example.com/~persona(1|2) paths!
As for the Docker management frontend, I have no idea which one’s the best right now 😅 but do make use of Tailscale SSH feature to troubleshoot other parts of your machines as well. And as for updates, I just subscribe to RSS feeds to keep the important software updated. Highly recommend you do that too to check out changelogs yourself.
Thanks for the link to go-sendxmpp. It’s nice to have an xmpp-native way to send notifications
I think they encourage that increased frequency by offering shortlived certs to begin with…
Although do note that normal certificates will reduce its lifetime to 45 days over the next few years
You can use caddy reload -c /path/to/Caddyfile to reload the config midway through
For TLS I am looking into using CertBot and it appears there’s a module (https://github.com/desec-io/certbot-dns-desec) I can use that works for https://desec.io/ to handle my certs.
You can consider using lego-acme as well. It’s not too different, just that it comes prepackaged with a bunch of DNS providers including desec, so you don’t need to install an additional module.
Since Caddy is handling my certs automatically, how often would I want to renew my certs?
By default, certs are valid for 90 days so you’d wanna renew a bit earlier than that. There’s also the option to use 45-day certs or 6-day certs, depending on the profile chosen.
Would I be required to run the same command periodically to renew my cert?
Yes, but it’s better if you automate them, like Caddy did, and both Certbot and lego can do this well. I run lego via a cronjob which checks for the certs’ expiry, and renew it when it passes a certain deadline.
I am looking to hear any suggestions or experiences about different reverse proxies that are preferably free of AI
Not sure I can recommend anything from that list because I’m not familiar with them, but I’ve heard haproxy to be very performant.
You can consider selfhosting maubot + RSS plugin if you wanna keep using Matrix


I wrote this by myself using anectodal sources from the community and experience hosting the thing, and no, it never passed through any LLMs. Perhaps I should approach things with a less upbeat and more cynically curt tone.


Hello,
I believe Matrix would be the most suitable candidate for your use case. The protocol supports both public and private (invite-only) rooms. It also has spaces, which are collections of rooms that helps with organisation (and yes they do exist in the sidebar). Voice/video calls can be done through Element Call which is integrated in many clients, and are usually quite performant. Pinned messages and polls are natively supported, and there exist various bots for reminders and other little neat features (see the Maubot plugins).
Matrix is also federatable like email, so you can extend your community to people on other servers in the network, too. Be sure to employ moderation tooling though, of which the ecosystem has plenty of and are improving every day. I also recommend testing out non-Element clients (such as Sable, Cinny, or SchildiNext) to see which one fits best with your organisation.
In another comment, you have mentioned the limit of 100 users. I believe this only applies for the Element Server Suite freemium solution, and so I ask, why not use another open source solution? My suggestion would be Continuwuity, a homeserver written in Rust with a very active community behind it. Continuwuity is generally considered much more lightweight than alternatives, and have been seen supporting sub-500 users just fine on a machine with 8 gigs of memory.
There’s some other QoL features of Continuwuity you may be interested in, like auto-joining to a room after account creation, or registration via admin-issued tokens. It can also integrate with your favorite single-sign-on solution via OIDC as well. So yeah, feel free to ask more about it here, or take the next steps in the support room!
There exists other solutions as well, but I think they are not the best candidates for few reasons. XMPP (i.e. the protocol behind Snikket) is more lightweight, but its clients still generally lack support for group calls, pinned messages, and polls. Fluxer may have a better UI, but it is not federated from the ground up which can lead to problems. I don’t think Nextcloud Talk offers federation either(?), but I believe Nextcloud to be a quite heavy, “bells and whistles included” software suite in general which may be too much for your use case.


Caddy does certs by responding to ACME challenges on port 80 and 443. You need to forward those ports from the public internet back to Caddy, have you done that?
Edit: it seems like you’re doing DNS challenges. Did you compile Caddy yourself with the right plugins? Have you tested the API token work? Any Caddy logs?


It bundles WireGuard transport layer and a SNI reverse proxy natively, along with optional authentication. Good enough for beginners or people who need quick deployments.


Hi, the sourcehut seems to be pretty interesting. If I understand it correctly, this DANE-without-root provides a TOFU model as an alternative to the normal case of verifying up all the parts of the domain levels, right? If feasible, maybe that could be nice to extend with other methods for OOB verification and key rollover


Most of the software are old versions, Forgejo 7 is like years ago now. Why are you running benchmarks on these versions and not the latest ones?
I do this albeit with Tailscale. Netbird/Tailscale would act as a node of your VPN and you can configure reverse proxy routes (via tailscale serve or Netbird’s equivalent) from the VPS edge to the homelab. You can even do SNI passthrough and have TLS terminated at your home, if you want, though this can be a bit slower
Alternatively you can even expose stuff via their servers. Tailscale Inc calls this service Funnels, and Netbird should have similar offerings. It’s kinda like Tunnels but you gotta use their domains, so a VPS acts greater as a dedicated entrypoint.
Lastly yes you’d be exposing the service to the general public internet, so some basic security is needed. Netbird has a Crowdsec module integration, might wanna look at that one and set up rules/detections. Consider putting extra auth in front of Jellyfin, use Authelia or something with an auth screen. And only expose the stuff you need, not your internal dashboard or whatever admin UI.
Matrix, and I recommend selfhosting Continuwuity as it is lightweight and easy to spin up. Your other option could be XMPP with Snikket or proper Prosody.
Though do you have any particular features you wanna bring over from Facebook Messenger?