How to Run Home Assistant on Ubuntu for Control Panel Use

In this guide, we’ll walk you through how to install and run Home Assistant on Ubuntu, configure it for use on a control panel, and explain how Portworld’s smart control panels can take your setup to the next level.

Why Use Home Assistant on Ubuntu?

Home Assistant is one of the most flexible home automation platforms available. Running it on Ubuntu, a stable and well-supported Linux distribution, gives you several benefits:

  • Full access to system-level customization
  • Support for third-party integrations
  • Reliable background services and automation
  • Ideal base for touchscreen smart panels

This setup is ideal if you’re using a 4-inch or 5-inch smart home control panel from providers like Portworld, which support Android or Linux-based systems, offer PoE (Power over Ethernet), and are often deployed with custom applications such as Home Assistant.

System Requirements

Before installation, make sure your system meets the following:

  • Ubuntu 20.04 or later
  • Minimum 2 GB RAM (4 GB recommended)
  • 32 GB storage (SSD preferred)
  • Internet access
  • Python 3.10 or later

If you’re installing on a Portworld smart control panel or similar embedded device, check for compatibility with Linux-based firmware or Ubuntu Core.

Step-by-Step: Install Home Assistant on Ubuntu

Step 1: Update Ubuntu

sudo apt update && sudo apt upgrade -y

Step 2: Install Dependencies

sudo apt install -y software-properties-common python3 python3-venv python3-pip

Step 3: Create a User for Home Assistant

sudo adduser –system homeassistant
sudo mkdir /srv/homeassistant
sudo chown homeassistant:homeassistant /srv/homeassistant

Step 4: Set Up Virtual Environment

sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
pip install wheel
pip install homeassistant

Step 5: Run Home Assistant

hass

The initial setup will take a few minutes. Once done, access the UI by visiting:

http://localhost:8123
Or from another device on your network:
http://your-ubuntu-ip:8123

Running Home Assistant as a Background Service

To make Home Assistant start on boot:

  1. Exit the virtual environment:

deactivate
exit

  1. Create a systemd service file:

sudo nano /etc/systemd/system/home-assistant@homeassistant.service

  1. Add the following content:

[Unit]
Description=Home Assistant
After=network.target

[Service]
Type=simple
User=homeassistant
ExecStart=/srv/homeassistant/bin/hass -c “/home/homeassistant/.homeassistant”

[Install]
WantedBy=multi-user.target

  1. Reload systemd and enable the service:

sudo systemctl daemon-reexec
sudo systemctl enable home-assistant@homeassistant
sudo systemctl start home-assistant@homeassistant

Optimizing Home Assistant for Touchscreen Control Panels

Once Home Assistant is running, you can optimize it for wall-mounted panels:

  • Use Kiosk Mode for a full-screen UI.
  • Set up Lovelace dashboards with large, touch-friendly buttons.
  • Enable auto-login and set Home Assistant as the default browser/home screen.
  • For Portworld Android-based panels, embed Home Assistant in a webview or use Fully Kiosk Browser.

Portworld Panels + Home Assistant: A Powerful Combination

Portworld offers a range of smart control panels ideal for running Home Assistant:

Feature Benefit
4-inch & 5-inch touch screens Compact size, perfect for walls or desks
PoE support Power and data in one cable – easier installation
Android/Linux compatibility Run Home Assistant directly or via web-based access
Customizable firmware Tailored OS options for Home Assistant optimization
CKD/SKD shipping Cost-effective bulk delivery with local assembly potential

Many Portworld users deploy these panels in smart home command centers, using Home Assistant to manage lighting, security, HVAC, and more.

Optional: Access Home Assistant Remotely

Set up remote access via:

  • DuckDNS (Free Dynamic DNS)
  • Nabu Casa Cloud (Home Assistant’s official secure remote access)
  • VPN tunneling (e.g., Tailscale or WireGuard)

Troubleshooting Tips

  • Port 8123 not accessible? Check firewall with sudo ufw allow 8123

Home Assistant won’t start? Review logs:

journalctl -u home-assistant@homeassistant -f

Panel slow or freezing? Ensure you’re using lightweight dashboards and optimize browser performance.