Hacker News new | ask | show | jobs
by favflam 1079 days ago
Yes, but you need a static ip address, resilient server software components, acceptance of occasional inconvenience.

IPV6 works, so long as you have a jump box to get you from a CGNAT'ed IPV4 network into the global IPV6 world.

If you want to skip on the jump box, you could give up some convenience and go with TOR to get yourself back to your home-AWS setup.

I would say this is the biggest barrier to utilizing home compute.

As for reliability, you could use just program stuff to dependency failure rates of 5% (up time of 95%).

I would not run any Docker containers or Kubernetes as that will be too much work. I would stick to bare metal and not bother with isolation. Just make sure you are using certificate authentication or SSH. Do not use a user name and password or expected to be pwned.

Lastly, I would definitely consider using gitlab.com to host code and run a gitlab runner from home. The previous parts of what I wrote become moot. The runner just connects when it can and runs jobs.

2 comments

I'm running a few projects from my home on a 10 year old dual core laptop with 16gb of ram. I run docker swarm with nginx for static stuff, 2 nodejs/react apps, a python app, a few sheduled jobs, a mongodb and a postgres db, victoriametrics + grafana for monitoring, portainer for docker management and a few other things. In total 18 running containers I use cloudflare tunel to expose them to the internet. here's an uptime: 07:26:00 up 89 days, 15:50, 3 users, load average: 1.03, 1.15, 1.21 Sure, the apps don't do heavy computation, just normal stuff but i found it enough. Even faster than some aws containers that I use at work.
Networking would definitely be a concern and I 100% agree that programming for higher failure rates is a must.

I would certainly default to bare metal, likely a simple go binary running as a Job side-runner for a main prod server hosted in the cloud.

> Lastly, I would definitely consider using gitlab.com to host code and run a gitlab runner from home. The previous parts of what I wrote become moot. The runner just connects when it can and runs jobs.

Gitlab runner looks promising, though I am not sure if it's intended for work outside the git workflow.

Thank you for your thoughts.

You can do a POST with an api access token to gitlab.com to get a job to run with custom environmental variable settings. So, you don’t have to use git to start a job.