Hello.
I’ve been trying to get familiar with self hosting. The only roadblock I have is I’m unable to do so because I am a university student living in student accommodation where it is against WiFi policy to host anything. And currently I don’t even have my raspberry pi with me. My laptop is relatively low specced, so I can’t exactly do VMs, but I want to learn more about hosting stuff and the services I can host. I recently signed up for a free managed Nextcloud instance because I wanted to see what it’s like and whether I’d be interested in hosting my own.
I know VPS-es are an option but they can get pretty costly, especially for a student like me. Do you have any recommendations, including any cheapz reliable VPS-es for a UK student to dip his toes into self-hosting? Thank you.
P.S I know this isn’t exactly self-hosting as I’m technically reliant on third party hardware but it’s the only option in my situation.
If you have a credit card and can pass their validation, Oracle offers a shockingly good set of free cloud options.
4 core, 24gb ram ARM instance, two potato epyc instances, 200gb of disk space and 10tb of transfer and various other little bits and pieces for the grand total of $0.
Some people have had their accounts closed for “no reason”, but I’m closing in on 2 years of free shit with no problems, so ymmv.
(I strongly suspect no reason has a reason and a huge number of these people were running VPNs, so I’d wager they either did something stupid/illegal, or someone they gave access to did something stupid/illegal.)
My brother in Christ, Oracle isn’t worth free.
They couldn’t even successfully delete my account or stop billing me after they couldn’t fix the simplest problem because they could never associate my support ID with my tenant account. I had to put a block on my credit card at the advice of a oracle support rep to stop getting charged.
Utter dogshit, but I don’t know what I expected, doing any sort of business with Larry Ellison.
20 year seasoned admin here; Nevermind not being worth “free”, I wouldn’t use them if they literally paid me to.
My experience as well. Walking in to a network or server consult, and finding Oracle DB, there was immediately a caveat with the customer that I would have nothing to do with that shit or they’d see my backside. Since I knew I would be dealing with it somehow anyway, there was a fuck-you factor in any time quotes I gave them.
I wouldn’t be involved in migrating it to new hardware, and if the consultants they hired to deal with it needed anything, I’d take my own sweet time to get back to them. Gawd, the Oracle consultants were the worst. But my utter hard and fast rule was that I would never, ever talk to Oracle Support.
I’m not saying I wouldn’t join the contract negotiation meeting, but the amount they’d need to fork over would be substantial.
Not sure if the UK is similar to where I lived, but they were the worst “cloud” provider I’ve ever used. Want to shut down the instance you had to recreate it with a different OS? Good luck getting it back online as they are out of capacity. Also, if you accidentally deleted one of the default network components it was impossible to recreate it without incurring a cost kind of going against anything you learned about cloud computing and “infrastructure as code”. It was a glorified GUI.
Edit: I’m just glad my current employer does not use anything oracle as their support is also famously bad.
I was just thinking about my free oracle server if it would be good for my own lemmy instance?
Not for longevity. Oracle can shut it off in a blink for no reason
Mine’s running just fine (along with about a dozen other things) on the A1/ARM instance you can get for free.
I wouldn’t say performance is stunningly good - the Ampere cores aren’t especially fast single threaded, and postgres is… well, it’s not the most threaded thing ever under really low loads - but it does what it’s supposed to.
Super easy things you can do as exercises and take no serious resources:
- build a static site and host it locally
- host your music collection
- host your video collection
- setup the *arr stack
- setup home assistant for your dorm room
If you’re into developing and stuff, GitLab
Plex server
Jellyfin server
ELK stack or security onion
Get steam working, connect via steam link.
Gitlab is a bloated mess. I don’t know anything about forgejo, but I’m hearing a lot of good things.
At any rate, you don’t need either of them. Learning how to host a raw git repo is extremely beneficial, even if you want to move to Github/Gitlab/Forgejo/etc later.
It’s easy to overlook with the omnipresent internet, but self-hosting doesn’t require internet. You could host for your fellow students on the local network. If that’s also against the Wifi rules you can either ignore that stupid rule or set up your own god damn wifi with hostapd on your machine and let students connect directly to it. It’s probably best to use a machine dedicated to the task for security reasons as you wouldn’t want curious students to accidentally erase your homework. I wouldn’t use containers or VMs for any of this, I’d just use bare metal like in the good ol’ days. You could also, without having to worry, give people shell accounts because it’s a closed network. The options are endless without all the worries of hosting on the internet.
I think it’s cool you’re trying to find ways to get into this. If the goal is to learn, why not deploy the services on your laptop? They won’t be available when the computer is off of course, but you would still get the full experience. Even a low-spec laptop will be better than a cheap VPS.
The worst laptop you can find could probably be better than even a reasonably specced VPS. Low end VPS are dire, and you can get some pretty decent laptops for almost nothing. If it’s pre 8th Gen. Intel they’re basically worthless on the used market. But they’ll still easily get the job done.
Start by learning docker, you don’t have to selfhost anything yet, just learn to run a container, specially to run automated stuff. Then learn to build the images and run docker compose.
Also you could start checking any form or infrastructure as code. I usually hear about ansible and nixos.
This helps having a way to redeploy your services in any hardware easily.DevOps guy here mostly working at scale in AWS. Learning docker should be priority 1 alongside learning Linux basics. Ansible should be second IF the plan is launching docker containers on a VM as opposed to a server less option (example: AWS Fargate)
To be clear; DevOps isn’t a role, it’s a methodology.
As for docker; Learn Linux fundamentals first. Docker is just automation, and it’s worthless if you don’t understand what you’re automating. Same goes for Ansible.
IaC is great, but there are too many people who don’t know what the hell their underlying infrastructure does, how different parts talk to reach other, or how to properly manage it, and trying to build a TON of it, hoping that’ll make up for it.
Bare metal (or a test VM treated as if it were bare metal) first. All other things later.
Agree on all points.
Have a look at gullo.me, their entry level vps was just $2 or something.
Edit: https://hosting.gullo.me/pricing (apparently the cheapest is $3.5 - annually)
I’ve heard others recommend Low End Box before but I have no experience, so do some due diligence before selecting any of these!
I would second LET. They usually have a lot of good offers around Black Friday, you can get a pretty decent VPS for like $10-20 / year.
You can keep an eye out for that, and see if this is really what you want to get into: https://lowendtalk.com/categories/offers
It is like a marketplace, so make sure to check reviews of the host provider before buying - which you can find on the same site.
Google “Oracle always free tier”. and go through this course https://programming.dev/post/12147665
I completely forgot about the Linux Upskill Challenge! I should have mentioned I’ve been running Linux as my desktop operating system for almost 3 years, and I’ve been tinkering with it quite a lot throughout so I’m quite familiar and very comfortable with the command line. I shoukd go through the Linux upskill challenge so I can fill in any knowledge gaps though. Thanks for reminding me!
I have two labs; one on-prem (lol my home office) and one in AWS. Depending on what you’re doing and how “shiny” you want it to be, you can go pretty far in AWS for less than $50/mo (and a little less far for $20). And that comes with the added benefit of haing AWS skills for your resume.
For hosting on AWS, chose services that run well on nano/micro instances. For everything else, run it from home (network policies notwithstanding, see 3 paragraphs down).
Also AWS, if you’re setting up a VPC with proper private/public subnetting (and you really should), don’t use their NAT gateway. It’s WAY too expensive. I set up a NAT gateway on a T3.nano and it costs me $3.74/mo (theirs would have been like $35/mo, which would have blown half my AWS budget on just that). I don’t remember if I used this specific article as a guideline, but he did exactly what I did (specifically the iptables config), so I’m confident in pointing you to him.
As for on-prem; look into Beelink’s offerings. I just got two of their miniPCs ( specifically these ) for $150 total (on sale) and will be moving some of my heavier stuff (matrix, fediverse) from AWS to these. You don’t need these specific ones, check their store, it has a section for models on sale, find something you like and get it cheep.
Now, I know you can’t host anything on their network that would touch the Internet, but something like these would be great for self-hosting Plex/Jellyfin, or other services that are technically only local, but also still technically on the network (hell, you don’t even need their network; buy a second-hand Netgear router and make your own private network). Those mini-PCs would also be great for learning linux, since you said you can’t really run VMs. if you want to learn about general self-hosting (web services like Apache/nginx, get a little PHP or Python site going, etc) you can do that totally locally on your private network, and it’ll be the same experience as doing it in the cloud (except no one but you can see it, but hey, everyone needs a “dev” environment; Cloud can be “production” if you want an audience).
Hope this helps!
I2P eepsite
Build anything small into a container on your laptop, push it to DockerHub or the Github package registry then host it on fly.io for free.
You can buy a super cheap cloud VM and use a (self hosted) VPN so it can access your own PC and a reverse proxy to forward all incoming requests to your own PC behind your school’s network.
It’s arguable whether this would violate their policy, since you are technically hosting something, but not accessible on the internet from their IP. So if you wanna be safe, don’t do this, otherwise, that could help you get started.
Spending 💰 is not the college student way.
The cheapest one I know of is about $8 a month, so it should be affordable, even on a tight budget.