Home Assistant is an open-source privacy-focused smart home automation program like google home. It has over 1000+ integrations including Philips Hue, Google Assistant, Alexa, and Plex.
You can find more information about Home Assistant using the links below:
Home Assistant allows you to connect all kinds of smart home products and services into a private, self-hosted management system. If you are looking to get off of big tech or are an avid self-hoster, open-source enthusiast, or general nerd you must look into Home Assistant. Our homes are no longer private, they will not be getting more private either. Your home is a gold mine for hungry advertisers looking to sell you something you searched 10 minutes ago. If you use a smart home management app… Cough Cough Google home … Every smart IoT device is filtered through it. We are not suggesting that Home Assistant solves this completely, your Alexa is still listening and doing what it does. Home Assistant does help the issue of privacy, and separating IoT devices from your main home network helps as well. This is an everlasting fight to prevent data collection and does not go away ever. There is a reason free services are able to be free and employ lots of people, but I digress, this is not meant to cover the issue of privacy or Big Tech.
Home Assistant is a fun project to start using in your home and we are going to show you how to get started with Docker, Docker-Compose, Portainer, and Nginx Proxy Manager. We have an advanced course on how to do this at TrueFreedomTech.com covering multiple configurations and separating data from compute, deploying with git, and more.
We are going to assume you already have a working server with Docker, Portainer, and Nginx Proxy Manager running. We will go over the compose for the stack and configuring Nginx-Proxy-Manager. We are not using our own images for this stack so please consult the Docker hub and GitHub links for more information regarding the Docker image and source code.
This is strictly how to get the app running. Once again, we cover how to do this at TrueFreedomTech.com in much more detail! This should be good enough to get beginners running, and experts should be able to adapt this to their own configuration with relative ease.
Step 1: Go to Stacks.
Step 2: Click Add Stack.
Step 3: Name your stack (Ex. home-assistant).
Step 4: Paste in the contents below:
Step 5: Press Deploy the Stack.
![]() |
![]() |
![]() |
#Docker-compose version
version: '3.8'
#Apps
services:
#Name of app
web:
#Docker image
image: homeassistant/home-assistant:latest
network_mode: host
#Ports to expose
ports:
- 8123:8123
#Docker Network
networks:
- nginx-public
#App data
volumes:
- config:/config
- /etc/localtime:/etc/localtime:ro
networks:
nginx-public:
external: true
volumes:
config:
Before we configure our apps, we will set up our domains using Nginx-Proxy-Manager. If you followed our Nginx-Proxy-Manager stack setup you should be able to copy everything we do step by step. Unlike most of the applications we have docker-composes for, this one requires an IP address in Nginx-Proxy-Manager.
*Note: If you are using docker swarm then you will need to add a placement variable to the stack so that your service always points to the same IP address. We are not covering Docker Swarm so we will not be covering that here.
Step 1: Log in to Nginx-Proxy-Manager and create a new proxy host.
Step 2: Enter your Domain name (Ex. home.example.com)
Step 3: Add your IP Address for the PC running this service to the Forward Hostname / IP at port 8123.
Step 4: Enable Cache Assets, Block Common Exploits, and Websockets Support.
Step 5: Click Save.
Step 6 (Optional): Enable SSL (we say this is optional, but you should always have an SSL cert if possible).
![]() |
![]() |
![]() |
![]() |
After setting up your domain name it's time to finish configuring the app. Go to the URL you chose for your application. You should arrive at a screen like this!
(If you do not arrive at a screen like this then something is wrong! Our premium members can open a support ticket Here!)
The process for the next 2 pages are self-explanatory, to learn more about the integrations on the 3rd page go Here!
Congrats! This is the basic setup for Home Assistant, as mentioned at the beginning we have a more in-depth course available at TrueFreedomTech.com.