Jump to content

Personal homemade clould

Saearrin
Go to solution Solved by WereCatf,
Just now, Saearrin said:

I thought so. But how much would "a lot" be? Can a single person do it by himself?

Of course, there is no reason why a single person couldn't do it. Heck, I have been running my own services for years now.

 

In practice, you'll need to know how to use Linux and its CLI. Practically all server-software is run and configured from CLI, with no GUI-tools, so you need to know what you're doing. You'll also need to fully understand how to set up port-forwarding and firewalls correctly in your router. You need a domain-name and some DNS-server directing requests for that domain-name to your IP-address -- I have bought severals domains from Namecheap and I use their DNS, but there are plenty of other options out there, some of which are free.

 

Once all that's in check, install e.g. Nextcloud for cloud-storage of files, to keep contacts, calendar and files in sync between multiple devices, including phones, tablets, desktops, laptops etc. OpenHAB or Home-Assistant for home-automation. Haproxy or similar for reverse-proxy. Look into how to use containers, like e.g. Docker, Podman or LXD -- I, personally, far prefer LXD-containers. And so on.

Would it be possible to make a homemade "cloud", with storage, access to security cameras, electronic doorbells, thermostats, voice control... All locally?

Instead of giving away your data to Google/Amazon/Microsoft to mine, just keep it locally.

Obviously things like voice commands would be a lot more limited, but personal assistants still don't work that good anyway.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Saearrin said:

Would it be possible to make a homemade "cloud", with storage, access to security cameras, electronic doorbells, thermostats, voice control... All locally?

Yes. It's just a lot of work and you'll need to be running your own server.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, WereCatf said:

Yes. It's just a lot of work and you'll need to be running your own server.

I thought so. But how much would "a lot" be? Can a single person do it by himself?

Link to comment
Share on other sites

Link to post
Share on other sites

I'm sure there's probably an open source project somewhere that attempts to do this, try searching GitHub for home automation servers or similar.

 

5 minutes ago, Saearrin said:

I thought so. But how much would "a lot" be? Can a single person do it by himself?

Depends on what you can find that's already been done and how much you understand networking and software engineering.

 

Personally, I'd be asking myself if I wanted my house connected to the internet all of the time.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Saearrin said:

I thought so. But how much would "a lot" be? Can a single person do it by himself?

Of course, there is no reason why a single person couldn't do it. Heck, I have been running my own services for years now.

 

In practice, you'll need to know how to use Linux and its CLI. Practically all server-software is run and configured from CLI, with no GUI-tools, so you need to know what you're doing. You'll also need to fully understand how to set up port-forwarding and firewalls correctly in your router. You need a domain-name and some DNS-server directing requests for that domain-name to your IP-address -- I have bought severals domains from Namecheap and I use their DNS, but there are plenty of other options out there, some of which are free.

 

Once all that's in check, install e.g. Nextcloud for cloud-storage of files, to keep contacts, calendar and files in sync between multiple devices, including phones, tablets, desktops, laptops etc. OpenHAB or Home-Assistant for home-automation. Haproxy or similar for reverse-proxy. Look into how to use containers, like e.g. Docker, Podman or LXD -- I, personally, far prefer LXD-containers. And so on.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Master Disaster said:

I'm sure there's probably an open source project somewhere that attempts to do this, try searching GitHub for home automation servers or similar.

I feel so dumb for not looking into GitHub before posting the question... Thanks.

 

4 minutes ago, WereCatf said:

Of course, there is no reason why a single person couldn't do it. Heck, I have been running my own services for years now.

 

In practice, you'll need to know how to use Linux and its CLI. Practically all server-software is run and configured from CLI, with no GUI-tools, so you need to know what you're doing. You'll also need to fully understand how to set up port-forwarding and firewalls correctly in your router. You need a domain-name and some DNS-server directing requests for that domain-name to your IP-address -- I have bought severals domains from Namecheap and I use their DNS, but there are plenty of other options out there, some of which are free.

 

Once all that's in check, install e.g. Nextcloud for cloud-storage of files, to keep contacts, calendar and files in sync between multiple devices, including phones, tablets, desktops, laptops etc. OpenHAB or Home-Assistant for home-automation. Haproxy or similar for reverse-proxy. Look into how to use containers, like e.g. Docker, Podman or LXD -- I, personally, far prefer LXD-containers. And so on.

I wouldn't say that I "know what I'm doing", although I'm familiar with the things you described. Will do some more research.

From what I understood, you're pretty much doing what I had in mind. I was actually thinking if it would be possible to turn private home clouds into a business.

If companies have it, why can't normal households also have it too, right.

Link to comment
Share on other sites

Link to post
Share on other sites

15 minutes ago, Saearrin said:

From what I understood, you're pretty much doing what I had in mind.

I have:

  • Nextcloud for cloud-storage and file-sync, calendars, contacts, RSS-feeds, automatic uploading of photos/videos from phone, random notes and TODO-lists
  • Gitea as my own git-server
  • Murmur (ie. Mumble-server) for voice-chat
  • OpenVPN and Wireguard for VPN-access to my home-network from outside (Though, these are running on the router instead of any of my servers for lower latency)
  • OpenHAB for home-automation (though I am planning to take a look at Home-Assistant. OpenHAB is a god damn resource-pig.)
  • Shinobi for IP-cameras
  • Calibre-web for ebook-library
  • Plex for video-library
  • Octoprint for 3D-printing
  • Grafana for graphing of some of the home-automation sensor-data
  • Haproxy for reverse-proxying, so all of my services can be accessed properly behind NAT (not necessarily the easiest thing to set up)
  • MariaDB for SQL-databases used by e.g. Grafana, OpenHAB and Gitea
  • Mosquitto for MQTT-server, used by OpenHAB and the remote-sensors and random scripts of mine

As for the setup, all of my servers are running just plain, old Ubuntu-desktop. I use LXD-containers to separate the various services into their own containers and for the ease of backing them up and moving from one server to another. I am using PFsense at the moment as my router and it's set up to automatically update my Namecheap domain's IP to reflect the IP-address it receives from my ISP, so the domain is always pointing to the correct address. Also, the router keeps my Let's Encrypt - certificates up-to-date and they are just copied to the servers from there when needed. I also have one backup-server serving no other purpose than as a place for all of my other servers to back their containers and stuff up to twice a week -- the backup-server is not running most of the time, it only gets turned on when it's time for back-ups, so if there was a malware-attack or whatever, the stuff there would be unlikely to be affected. I mean, the malware won't know my network-configuration and won't know to turn the backup-server on in order to mess around with it.

 

As for the remote-sensors, relays and stuff, I either make my own ones or buy Sonoff's items and flash them with Tasmota-firmware. Sonoff's own firmware insists on having an Internet-connection, including all the security-implications that would bring with it, whereas Tasmota is purely meant for LAN-use and to be controlled via e.g. OpenHAB.

 

Now, I'm not saying my setup is the correct or optimal way of setting things up or anything like that; it's just simply how I am doing things and there is absolutely no reason for you to try and replicate it. There are a ton of ways to go about it and you'll just have to figure out what you like and prefer. Still, maybe this'll give you some ideas.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, WereCatf said:

I have:

  • Nextcloud for cloud-storage and file-sync, calendars, contacts, RSS-feeds, automatic uploading of photos/videos from phone, random notes and TODO-lists
  • Gitea as my own git-server
  • Murmur (ie. Mumble-server) for voice-chat
  • OpenVPN and Wireguard for VPN-access to my home-network from outside (Though, these are running on the router instead of any of my servers for lower latency)
  • OpenHAB for home-automation (though I am planning to take a look at Home-Assistant. OpenHAB is a god damn resource-pig.)
  • Shinobi for IP-cameras
  • Calibre-web for ebook-library
  • Plex for video-library
  • Octoprint for 3D-printing
  • Grafana for graphing of some of the home-automation sensor-data
  • Haproxy for reverse-proxying, so all of my services can be accessed properly behind NAT (not necessarily the easiest thing to set up)
  • MariaDB for SQL-databases used by e.g. Grafana, OpenHAB and Gitea
  • Mosquitto for MQTT-server, used by OpenHAB and the remote-sensors and random scripts of mine

As for the setup, all of my servers are running just plain, old Ubuntu-desktop. I use LXD-containers to separate the various services into their own containers and for the ease of backing them up and moving from one server to another. I am using PFsense at the moment as my router and it's set up to automatically update my Namecheap domain's IP to reflect the IP-address it receives from my ISP, so the domain is always pointing to the correct address. Also, the router keeps my Let's Encrypt - certificates up-to-date and they are just copied to the servers from there when needed. I also have one backup-server serving no other purpose than as a place for all of my other servers to back their containers and stuff up to twice a week -- the backup-server is not running most of the time, it only gets turned on when it's time for back-ups, so if there was a malware-attack or whatever, the stuff there would be unlikely to be affected. I mean, the malware won't know my network-configuration and won't know to turn the backup-server on in order to mess around with it.

 

As for the remote-sensors, relays and stuff, I either make my own ones or buy Sonoff's items and flash them with Tasmota-firmware. Sonoff's own firmware insists on having an Internet-connection, including all the security-implications that would bring with it, whereas Tasmota is purely meant for LAN-use and to be controlled via e.g. OpenHAB.

 

Now, I'm not saying my setup is the correct or optimal way of setting things up or anything like that; it's just simply how I am doing things and there is absolutely no reason for you to try and replicate it. There are a ton of ways to go about it and you'll just have to figure out what you like and prefer. Still, maybe this'll give you some ideas.

Wow, thanks man. This is pretty much everything that I was looking for.

The only thing that's missing, is voice control. Do you know/use any?

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Saearrin said:

The only thing that's missing, is voice control. Do you know/use any?

None of the solutions for that do Finnish, so no. You'll have to look into that by yourself.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×