I ran into the same wall and moved completions to a local model, which has been better than I expected for the boring half of the job.
Setup was Ollama with a small code model and the continue extension, on a laptop with 16GB of RAM. It is not as good at the clever multi-line suggestions, and it's noticeably better at the ones that are basically typing: closing a struct, writing the obvious error branch, filling in a repetitive block. That's most of what I was using the quota on anyway.
Zero quota, works offline, and my fans get loud. Fair trade for hobby projects.
Ran cron plus dbt for four years at roughly your size and never regretted it. One shell script, a lock file so two runs cannot overlap, output piped into a log, and a check that alerts if the run has not written a success marker by a given time. The whole thing was under a hundred lines and I could explain it to a new hire in five minutes. Airflow at that size would have been a bigger system than the thing it was scheduling, and I have watched two teams spend more time on their orchestrator than on their models.
When you do get it pumped, be there and ask them to show you the baffles and tell you the condition. That's the visit where you find out whether your outlet baffle is broken, which is the failure that quietly sends solids into the drain field and costs thousands. Twenty minutes of standing in the garden being nosy is the best value in the whole system.
Build in CI on an amd64 runner and this problem disappears permanently rather than being managed. Push to a branch, the runner builds natively at full speed, pushes to your registry, and the vps pulls. It also gets the build off your laptop entirely so deploys work from a phone or a train, and you get a record of what was built and when. Most hosted CI has free minutes that comfortably cover twice weekly builds for one small service. The laptop build is the thing causing the problem and every other answer is working around it.
I want to argue that consistency beats the number for most home cooks. An edge held at a consistent nineteen degrees will outperform one that wanders between fourteen and twenty two, because the wandering one never actually forms a clean apex, it forms a convex mush. If you are freehand and honest about it, pick one angle you can repeat, use it on everything except your gyuto, and put your effort into holding it rather than into hitting a target you cannot measure. The gyuto is the one exception worth treating specially.
Whatever you agree, get it in an email and get them to reply yes before you write another line. Verbal agreement on a call at this stage is how you end up here again in three weeks with a worse mood.
The number that decides this is nodes, not containers. Twelve containers on two boxes is a compose problem. Twelve containers you want automatically placed across five boxes, with rolling updates and a node able to disappear without you waking up, is an orchestrator problem regardless of which one you pick. Two other things to weigh before you choose Nomad specifically: HashiCorp moved their products onto the Business Source Licence a couple of years back, which may or may not matter to you but is worth reading before you build on it, and service discovery is much nicer with Consul alongside, which is a second thing to run even though Nomad has a native option now.
Mine went up 15% in year one and 4% in year two, and I stopped worrying once I realised the withdrawal rate implied by the new number was still under what I'd modelled. Worth checking that before you treat it as an emergency, sometimes the budget was just conservative.
Two more free things worth knowing. A simulator build does not need any of the paid credentials, so if you have a friend with a mac you can hand them a build to look at before you spend the 99. And your bundle identifier is effectively permanent once you have shipped, so choose a reverse domain you will still own in four years rather than something with your old company name in it.
Before the rod, try a one-off high temperature run: turn the thermostat up to 70C for a few hours, then run every hot tap for a couple of minutes each to push the hot water through the pipework, then turn it back down. That kills the bacteria in the tank and the smell often goes for months. Be careful with scalding while it's up there, especially if there are kids in the house.
That is it. And a grooved steel with real ridges also raises a small burr on softer knives, which feels sharp for a day then falls off and leaves you worse than before.
One underrated piece: part time income in the first few years does more for sequence risk than any allocation tweak. Two days a week of consulting covered about 40% of our spending for the first three years and meant the portfolio barely got touched while it recovered. It also gave me somewhere to put my brain, which I hadn't expected to need.
The pattern worth knowing is the split where the VPS is only a front door. Run the reverse proxy and TLS termination on the VPS, connect back to the house over a tunnel, and serve the apps from the machine at home through it. You get a stable public IP, no ports open on your router and no dynamic DNS misery, while the actual compute and storage stay in the cupboard. The costs are honest ones: every byte served now goes out over your 40Mbit upload twice in effect, latency goes up a little, and when the power goes out you are still down, so it solves addressing rather than availability.
It is deliberately both, so a tiny company with large revenue is still expected to pay. Read the current terms yourself rather than trusting a forum post, including this one, since they have changed before.
Two completely separate things get muddled here and you need to answer them separately. Docker Desktop licensing: it is free for personal use, education and open source, and free for commercial use in small businesses, where small is defined as fewer than 250 employees and less than ten million dollars in annual revenue. You are twelve people, so the employee half is not close, and the only question is your revenue, which is a thing your finance person can answer in about a minute and I cannot. Docker Hub pull limits are a different product with different rules and hitting them costs you build failures rather than a licensing problem.
Short cycling is the single most common way people kill a well pump, because it's the startup current that wears the motor, not the running. A pump that starts three times a minute in the shower is doing many times the wear of one that runs continuously for two minutes. Fix it soon rather than at your convenience.
I recorded a forty minute interview on the webcam mic without noticing, because the app had switched and I never look at the input meter once we start talking. Unusable, had to redo it, and the guest was very gracious about it. Now the first ten seconds of anything is me watching the meter move while I say something pointless.
Two trousers, one skirt or dress, three tops, one knit, one pair of proper shoes. Wear it for a month. Then buy the second layer of anything that wore out or annoyed you.
Do the maths honestly and it usually still works, but only if you count the backup. Self hosting replaces the sync and the app, it does not replace the offsite copy, and a cloud provider was quietly giving you that for free. So the real comparison is your box plus two drives plus an offsite backup target, against the subscription. The mini PC you already own is close to free to run, an N100 idles low enough that the electricity is a rounding error at any normal tariff, and the drives are a one off. The subscription you are cancelling then has to cover a backup service instead, which is cheaper than the photo plan but not zero.