• 1 Post
  • 33 Comments
Joined 2 years ago
cake
Cake day: June 13th, 2023

help-circle

  • Yep, the M is for mb, that’s for RAM in this case.

    As for levels… That’s not really that black and white, IMO, there’s no “best” platform, it’s always “it depends”. I think you’re fine with a pi, certainly for a while, and especially at the price point. Plenty of folks running fedi instances and Matrix off of 'em.

    The only thing that comes close and has good software support would be a second hand small form factor office PCs, like HP mini PCs or the Lenovo ThinkCentre. Might buy you some expandability down the road, but it’s slightly bigger, uses a bit more energy, choices. It depends.


  • To start with the last question: yes, you can absolutely host more than one service on a single machine, resources permitting. The different services will each listen on a different (TCP) port, and you can front it all with a proxy which works a bit like a front desk, directing the incoming requests to the proper port, so foo.example.com gets directed to service A and bar.example.com gets directed to service B, and so on.

    The key part is “resources permitting”, because all those services need CPU cycles to run and memory to run in (not to mention storage). Especially RAM is critical; have too much running for the amount available, and your server has to “swap”, parking bits of ram to disk, use it for whatever has to run at that moment, and swap bits back. Storage is always vastly slower than memory, so this slows things down tremendously, to the point of the server feeling sluggish or frozen. If you run on a Pi that runs off of a microSD card, not only is your storage really, really slow, you’ll also severely limit its lifespan with swapping. So do invest in better storage, like a USB NVMe drive (not a regular USB thumb drive, as those are typically the same flash storage as sd cards). And see if you can get a pi with more RAM. There’s no such thing as having “too much RAM”.

    So, what to run? I don’t know about Hubzilla specifically, but their FAQ (under the “average hosting cost” header) says you should be fine — it’s just a PHP + database app. But with apps like these, it also depends on the actual use: if your family and friends start following a million people, that’s going to increase resource use. Keep in mind that over time, you’ll see storage increase slowly but surely, anyway, I’m running a single user GoToSocial instance for myself, and the database and cached images and whatnot amount to some 12GB of storage. I did mention getting extra and faster storage, right? ;) I know there’s folks hosting GoToSocial and snac on severely constrained hardware, like raspi zero (so far less powerful than what you have in mind), old routers and even their car radio…

    WordPress is just another PHP + database app, although it tends to scale somewhat shitty; if you’re not entirely tied to WordPress, you might look into different systems, maybe a static site generator that turns your pages into, well, static HTML files, which take next to no resources (CPU/RAM) to host.
    Synapse is a bit of a heavy thing (although it has gotten vastly better, the last couple of years), but it too is quite disk-heavy, so really don’t run this on SD cards.

    Point is: yes, you can absolutely start with a Pi. I’d try and get one with as much RAM as you can / are willing to spend, as you can’t upgrade it, and get some storage that’s faster and less prone to failing. But even 2GB will get you some way and you’ll learn a ton (aka “break stuff”) in the process!









  • This sounds like it’d be exactly how I currently use Tumbleweed on my workstations: I don’t update daily, but rather every once in a while. I appreciate the new versions of things, but being on the daily bleeding edge is more work than I care to put in.

    I can also see this working quite nicely for those with nvidia hardware, where with TW you’d sometimes end up with a kernel too new for the drivers to get shoehorned in. A slightly easier-going pace would help there.

    It also reminds me of Android, where you have roughly monthly updates (theoretically) and every now and then a bigger one.




  • That’s correct. Btrfs will simply divide your disks in 1GB chunks, and when writing, always ensure that a bit of data is always stored in 2 chunks on two different disks. You can also do 1C3 or 1C4 if your data is truly that critical, which means data is always stored in 3 or 4 chunks (on different disks), respectively. Of course, that also requires at least they amount of drives.

    This chunking is also the reason why the sizes of the drives don’t have to match, as long as it’s possible to divide it evenly you won’t lose space as unused. Simply put, make sure your largest drive is not larger than your other drives combined and you should be fine.

    In my case, data will always see one copy on the 4gb drive, and another on either of the 2gb drives.


  • As for the reason to switch: that’s something I can get behind, although you could also just slap Proxmox on it an do all your experimenting in VMs; at least that keeps the server itself running as smoothly as possible, while not limiting you in your learning experiences.

    As for btrfs: it most certainly does have RAID functionality. RAID5/6 is considered unstable (although I’ve heard/read from plenty of people who have great experiences with it, provided you don’t run into the edge cases), but I’m sticking with RAID1 because I don’t need to run the risk, and I’m not sure if waiting for a checksum calculation whenever something does go pear-shaped is going to do a whole lot of good for me.

    Anyway, as for my setup: an HP Microserver (an oldie, a Gen8 with a Xeon switched in) running Leap, powering a few VMs, a collection of Docker containers, and a few “native” services (nginx, PHP, stuff like that). The root fs is a single SSD (btrfs SINGLE with some directories having a flag to disable COW), and there’s a data pool of 3 spinning disks (2x2 and 1x4GB), 4GB effective, that contains “data”. Most of it is setup with Ansible these days, hence no real use for YaST on that machine for me.


  • You’ll lose more than just snapshots, btrfs does a bit more than just that.

    I’ve been running my NAS/server on btrfs for years, now. I started out on Rockstor (which was still based on CentOS back then, they switched to an OpenSUSE core some years ago), later I decided to roll my own setup on Leap, partially because I already had (and love) Tumbleweed on my workstations, and keeping everything on one distro is just less mental overhead. For me, it’s been rock solid. I like OpenSUSE, I like btrfs. Snapshots have saved my bacon on the workstations more than once when bleeding edge updates and nvidia clashed; it’s never been an issue on the server of course, and I don’t really use them for data (although the option is there). I do however use RAID1, on 3 drives, and being able to just add a drive even if it’s not the same size as the others (within reason), is a big plus and one of the reasons I opted for btrfs back then.

    OpenSUSE as a distro is great, there’s a fair amount of software, stuff that’s not in the default repos might be on OBS. It’s a fixed-release distro but the cadence feels somewhat different from Ubuntu’s. YaST is great when you want to have some easily accessible menu driven interface to setting things up, rather than poke around in config files (I’m more of a config file guy, but having the option is nice).

    Of course, as for opinion… It all depends on what you want to use the machine for, where your experiences lie, and so on. What’s the NAS doing, besides file shares, what do you hope to gain by switching distros? Where are you on the scale from “I want it to just work, something like a Synology would be nice if they weren’t so pricey” to “I hand-compile kernels for fun”?



  • These tips are all solid, and reflect my setup. Database (MariaDB) and PHP files on the SSD, data storage on spinny bois. Don’t underestimate the importance of a recent enough version of PHP, OpCache, enabled, and so on.

    There’s a whole chapter on performance tuning in the manual, and the “Security & setup warnings” part of the administration settings should point out some configuration issues, when it finds them.

    My setup might actually take a (smallish) performance hit because I use btrfs for all my filesystems. Just don’t get roped into the whole “wsl on Windows” thing, that’s just not going to work out, it’s a kludge that MS offers to not bleed users to Linux too much, but it’s certainly not meant for server workloads.

    The hardware should not be the bottleneck at all, the 1265 in OPs machine should not be significantly slower than the 1280 in mine.


  • Eh, my gen8 is chugging happily along with Nextcloud, Synapse, Jellyfin and friends, docker-mailserver, a GoToSocial instance, Home Assistant in a VM, and so on. I don’t know what else is running on your server (and, admittedly, I’ve added some RAM and stuck in a somewhat beefier Xeon CPU), but it should have no problems running a web app like Nextcloud, especially if you stay away from the more intensive stuff like office apps.

    That aside, I’ve gone through a fair amount of note taking apps, and so far I like Joplin best, too bad it doesn’t seem to work out for you. Not sure when you last checked out the Android app, but I do know there’s been some changes in the editor it uses recently-ish, it might be worth it to check again.