Table of Contents

Read First!


If you’re interested in creating your own private secure Smart Home and Internet of Things Services you have come to the right place. Please understand that this has been simplified so anyone can do this. That doesn’t mean everything will work for everyone exactly the same. Errors may occur.

1. Choosing what you want

I will be explaining 2 ways of hosting things.
One with a Raspberry Pi.
And one with an external Server.

Both have their advantages and disadvantages.
A Raspberry Pi is much less powerful, but also less expensive.
A Server is much more reliable, no outages, no Internet downtime, and you can almost always opt in a Backup Service.

2. What we NEED

  1. Server or Raspberry Pi
  2. Domainname
  3. Lots of patience

2.1 Raspberry Pi or external Server

You will need either the Raspberry Pi, or the external Server.
I recommend both, there are things you can’t do on an external Server that you can only do on a private Network, like hosting Home Assistant or PiHole.

If you don’t want an external Server, then make sure your home internet is NOT in a Dual-Stack Lite (DS-Lite) Configuration (Take a look into your router settings or contact your internet provider).

What if you have a DS Lite Internet Connection?

Basically, if you want to access your Setup from the public Internet, not just your home network, you won’t be able to. Or it’ll be much harder to set up. No promises!

Here is a small list for cheap V Servers and/or dedicated Servers:,

2.2 Buy a Domain

You will also need to buy a registered Domain name, preferably one with unlimited subdomains.

Here is a small list where to buy a Domain name:

3. Nano

Nano is a file editor in Linux. You will come across it a lot when setting up your own things.
You can also use vim or any other editor you prefer.

3.1 Exiting

Ctrl + X will get you into exit mode.

The program will ask you if you want to save or discard.

Answer y or n for yes or no.

exiting nano. Read first

3.2 Saving

Ctrl + O will let you save the current file.

It will overwrite the old file, you can also change the filename, so it doesn’t override.

saving nano. Read first

3.2 Display current line

To see what line you are on right now you can Press Ctrl + Space.

This is useful when trying to find errors in your files.


4. Cat

Cat a file for when you want to see an output of the file without editing it.

Cat command

5. Docker

Docker the Container Platform we will be using throughout this Blog.

5.1 Docker ps

To display all currently running Containers.

docker ps command

5.2 Docker-Compose ps

To display all currently running Containers from this Stack.

docker-compose ps command

5.3 Docker exec container -it /bin/bash

To get into the live container.

6. More

6.1 Cancelling

If you need to cancel a command or stop a save press Ctrl + C.

6.2 So much more

There are so many more things to learn about Linux, these are just a few basics.
I can obviously not go over them all, but that should get you started.

Raspberry Pi
raspberry i

First Steps on a Raspberry Pi

Setting up your Raspberry Pi for use with the upcoming Tutorials.
External Server

First steps on an external Server

Setting up your Server for the upcoming Tutorials.
Would love your thoughts, please comment.x