• 2 Posts
  • 58 Comments
Joined 7 months ago
cake
Cake day: February 14th, 2025

help-circle

  • I’m been trying to stand up a zulip instance. It’s working but I haven’t used it much. I want a feature complete jitsi instance to go with it and that’s only partially implemented right now.

    That said, zulip does seem like the best option for me presently.

    Haven’t tried revolt.

    Mattermost seems to be perpetually entangled but being disentangled from some other suite. Confusing and frustrating.

    I haven’t tried rocket chat for 5 years or so. I think last time I read about it people were complaining that the FOSS plan is very limited.





  • Adding to what everyone else has already said, you want sync and backup.

    Sync to a central location and backup from there.

    For sync, you want syncthing or nextcloud. I would lean towards syncthing for media. If you had a million files in a complex folder structure and a dozen users with different access requirements and instant sync and collision protection is important then nextcloud might be the go. Otherwise syncthing is much more manageable.

    My recommendation with syncthing, which is not obvious, is to set up a single hub which each client syncs with. By default you end up with a mesh where everything is connected to everything. It’s very difficult to manage with a lot of folders and devices. Turn off discovery and input the server / hub details manually.

    For backup, if you have a lot of media you want deduplication. If yesterday’s backup included ABC and today’s is ABCD you only want to transfer D. This is similar to an incremental backup, but the subtle difference is that with deduplication the most recent backup is the “full backup” with the “diffs” going backwards in time, allowing you to purge old backups. I like borgmatic but there are others.

    I would also consider carefully exactly what is worth backing up on what service. I don’t backup movies and tv series at all.

    My final recommendation is, it’s critically important to test deploying your backups regularly.



  • I do use nextcloud for my small consultancy team but I dislike it immensely, mostly due to personal preferences.

    I think I pretty much just don’t like having one platform that does everything. I want to self host my own cloud, I don’t want to self host a thing that provides a cloud.

    Additionally, and this really is just a personal preference, I dislike php projects almost as much as Java.

    Primarily I use nextcloud’s file sync. This aspect is IMO extremely well implemented. It seems to work very reliably.

    We do use contacts and calendars. If there were good alternatives I would switch to them but sabreDav et al lacks a good UI. I’m aware you can disable this functionality in nextcloud.

    Anything else that can potentially be integrated is better hosted separately IMO.



  • It’s not really clear exactly what you want.

    When you’re at home, and for services running on your home server, it you want everything to go through the remote wireguard server then that’s achievable.

    However, if you want to be able to access services running on your home server, while you’re not at home, via that remote wireguard server, that generally requires port forwarding which commercial providers generally don’t offer.

    Can you clarify ?


  • null_dot@lemmy.dbzer0.comtoSelfhosted@lemmy.worldTwo VPNs?
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 month ago

    I don’t use tailscale or gluetun. They’re probably good options I just wasn’t aware of them when I was setting up and what I’m doing now has worked great for years.

    My home server has 4 containers you’re interested in:

    wireguard_out

    this is a wireguard instance which is connected to a mullvad server on a paid subscription.

    For any containers I want to “use this vpn” I just attach them to this container’s stack. it’s one of the network options in docker. Notably these containers include qbittorrent and squid (below).

    Wireguard configurations look unapproachable at first but it’s one of those things where messing around with it for an hour or so will serve you well for a lifetime. There’s not heaps more to learn. LLMs are great at writing wireguard configurations.

    squid

    This is a http proxy attached to the wireguard_out stack. You didn’t ask about this and may not need it but I’ve found it super useful.

    One of the private torrent trackers I use will only let your torrent client connect to the tracker from the same IP address you used to download the torrent file - so when browsing their website you need to use the vpn connection. Using squid makes this really easy.

    In firefox (librewolf) I have foxyproxy addon which allows you to specify a proxy to use for specific urls. So when I navigate to mytracker.com firefox automatically routes the connection through squid > wireguard > mullvad on my server.

    wireguard_in

    This handles my “road warrior” set up so I can access services on my home server while I’m away.

    This container has a separate docker network to most of my other containers, in the ip subnet 10.0.2.0/24.

    traefik

    this is a reverse proxy

    it’s on the same network as wireguard_in with the ip address 10.0.2.2

    I’ve configured a public dns “A” record *.home.mydomain.com to point to 10.0.2.2, the private ip address.

    The configurations I use for the wireguard connections on my phone or other devices only route requests for this subnet through the wireguard connection. so if I’m away from home and my phone requests lemmy.world that goes through the public network, but if I request photon.home.mydomain.com that goes through my vpn. This way you don’t need to turn off / on the wireguard connection.

    I use file based configurations for traefik. It can do docker label configurations but they’re just awful IMO. The yaml configurations are much more readable and manageable.

    As an aside, you can replicate this structure many times on one host. I have several incoming wireguard networks for different purposes. You configure the traefik container to sit across all the networks, like a spider at the centre of a web.






  • Like any analogy, it doesn’t perfectly map to the complex issue being analogised (?), but it’s not as absurd as you’re making out.

    The architecture for plugin support is not free. Even if no plugins are active the platform is built to support all the extra nonsense.

    lighttpd is the leanest webdav implementation i can think of. Obviously it doesn’t have sync and sharing and permissions, but it’s an interesting point of reference demonstrating how over engineered nextcloud really is.

    If you’re a fan, and want all of this stuff bundled together then fine, have at it. As I said up top, I am using it but I dislike it immensely.