

This is also a great way to just break everything you’ve set up.
This is also a great way to just break everything you’ve set up.
I recommend getting familiar with SMART and understanding what the various attributes mean and how they affect a drive’s performance and reliability. You may need to install smartmontools to interact with SMART, though some Linux distributions include this by default.
Some problems reported by SMART are not a big deal at low rates (like Soft Read Errors) but enterprise organizations will replace them anyway. Sometimes drives are simply replaced at a certain number of Power-On Hours, regardless of condition. Some problems are survivable if they’re static, like Uncorrectable Sector Count - every drive has some overhead of extra sectors for internal redundancy, so one bad sector isn’t a big deal , but if the number is increasing over time then you have a problem and should replace the drive immediately.
Also keep in mind, hard drives are consumables. Mirroring and failovers are a must if your data is important. New drives fail too. There’s nothing wrong with buying used if you’re comfortable with drive’s condition.
Yeah, pay somebody else to be responsible for the server uptime and the bandwidth. Somebody who specializes in providing that.
I think the answer depends a lot on the use case of each business’s website and what the business owner/employees expect from it.
Is the website a storefront? You’ll be spending a lot of time maintaining integration with payment networks and ensuring that the transaction process is secure and can’t be exploited to create fake invoices or spammed with fake orders. Also probably maintaining a database of customer orders with names, emails, physical addresses, credit card info, and payment and order fulfillment records… so now you have to worry about handling and storing PII, maybe PCI DSS compliance, and you’ll end up performing some accounting tasks as well due to controlling the payment processing. HIPAA compliance too if it’s something medical like a small doctor’s office, therapist, dialysis clinic, outpatient care - basically anything that might be billable to health insurance.
Does the business have a private email server? You’ll be spending a lot of time maintaining spam filters and block lists and ensuring that their email server has a good reputation with the major email service providers.
Do the employees need user logins so that they can add or edit content on the website or perform other business tasks? Now you’re not just a web host, you’re also a sysadmin for a small enterprise which means you’ll be handling common end-user support tasks like password resets. Have fun with that.
Do they regularly upload new content? (e.g. product photos and descriptions, customer testimonies, demo videos) Now you’re a database admin too.
Does the website allow the business’s customers to upload information? (comments/reviews/pictures/etc, e.g. is it Web 2.0 in some way) god help you.
You’re going to expose this to the public internet. It will be crawled, and its content scraped by various bots. At some point, someone will try to install a cryptominer on it. Someone will try to use it as a C2 server. Someone will notice that you’re running multiple sites/services from one infrastructure stack and attempt to punch their way out of the webhost VM and into the main server just to poke around and see what else you’ve got there. Someone will install mirai and try to make it part of a DDOS service provider’s network.
yet
Ah, if all of your email aliases trace back to your personal, locally hosted server, of which you are the only user, on presumably your personally owned domain, it will not be private… well private in the sense that it’s just you I guess… but super duper identifiable - because it’s just you. At which point why bother with the aliases.
Hahhh… well really, the only way to test backups is to try to restore from them. VMs are extremely helpful for this - you can try to restore a VM mirror of your production system, see if it works as expected, wipe it and start over if it doesn’t.
I second this - virtualization is the easiest way to branch out and try new things. You can keep the working system you already have, and also experiment with other systems.
A further advantage is that you can run services in separate VMs, which helps if you need isolated contexts for security, privacy, or stability reasons. And, if you break something while you’re learning you can just delete that VM and start over without affecting your other working services.
- a few git repos (pushed and backup in the important stuff) with all docker compose, keys and such (the 5%)
Um, maybe I’m misunderstanding, but you’re storing keys in git repositories which are where…?
And remember, if you haven’t tested your backups then you don’t have backups!
however, i know nothing about self hosting. My knowledge is absolutely zero […] I dont understand nothing
This is going to be a problem, unfortunately. You’ll need to define your use case first:
An old PC might be enough to act as a server, but there’s more involved and the answer to what you need depends on what exactly you want to do. You will not be able to build a personal version of Spotify with just an old PC, for instance.
Never use a spreadsheet to do a database job.
A long wire is an antenna that will gather electromagnetic noise from the air and turn it into random signal on the line. Shorter wires will be less responsive and therefore less noisy, and you can also mitigate the problem by grounding everything properly. It’s also possible that with the wires in that parallel ribbon, they may induce crosstalk on each other. If you want to be really careful, you could replace that big ribbon cable with an STP cable and ground the shielding jacket.
Also, a noisy/low quality power input to the Pi will produce noise in its circuits and ultimately the output. If you can, supply the power from something better than a wall wart.
Someone else has mentioned M-Disc and I want to second that. The benefit of using a storage format like this is that the actual storage media is designed to last a long time, and it is separate from the drive mechanism. This is a very important feature - the data is safe from mechanical or electrical failure because the storage is independent of the drive. If your drive dies, you can replace it with no risk to the data. Every serious form of archival data storage is the same - the storage media is separate from the reading device.
An M-Disc drive is required to write data, but any DVD or BD drive can read the data. It should be possible to acquire a replacement DVD drive to recover the data from secondary markets (eBay) for a very long time if necessary, even after they’re no longer manufactured.
The issue is more that trying to upgrade everything at the same time is a recipe for disaster and a troubleshooting nightmare. Once you have a few interdependent services/VMs/containers/environments/hosts running, what you want to do is upgrade them separately, one at a time, then restart that service and anything that connects to it and make sure everything still works, then move on to updating the next thing.
If you do this shotgun approach for the sake of expediency, what happens is something halfway through the stack of upgrades breaks connectivity with something else, and then you have to go digging through the logs trying to figure out which piece needs a rollback.
Even more fun if two things in the same environment have conflicting dependencies, and one of them upgrades and installs its new dependency version and breaks whatever manual fix you did to get them to play nice together before, and good luck remembering what you did to fix it in that one environment six months ago.
It’s not FUD, it’s experience.