Makers Blog

Running Home Assistant as a Rootless Podman Container on Catan C1 (PLCnext Core)

An Pham 15 June 2026 min. read
0 views 0 comments

Over the past few months, the Catan C1 has evolved into an open system powered by the PLCnext Core operating system. Thanks to the openness of the PLCnext ecosystem, it is now very straightforward to deploy applications using container technologies like Podman.

In this blog post, I’ll share how I successfully installed Home Assistant as a rootless container on the Catan C1—and how you can do the same. Special thank to JCM for helping me.

🚀 Why This Matters

The flexibility of PLCnext allows you to run modern IT applications directly on your controller. Running Home Assistant opens up possibilities such as:

Smart building integration

Zigbee-based automation

Edge-level IoT orchestration

Local, privacy-friendly smart home control

📦 Step-by-Step Installation Guide

  1. Create Working Directories

First, create a folder structure for Home Assistant:

mkdir ~/hass mkdir ~/hass/config

  1. Create the Container Configuration File

Create a YAML file for your container setup:

nano ~/hass/compose.yaml

  1. Add the Home Assistant Configuration

Copy and paste the following content into your compose.yaml:

services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - ~/hass/config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
      - /dev/usb-devices:/dev/usb-devices
    devices:
      - /dev/ttymxc2:/dev/ttymxc2
      - /dev/ttymxc3:/dev/ttymxc3  
    restart: unless-stopped
    network_mode: host
    userns_mode: keep-id
    user: 1002:1002
    environment:
      TZ: Europe/Berlin

Notes: The container runs rootless using user namespace mapping (keep-id) USB and serial devices are passed through for IoT integrations Host network mode ensures easy web access

  1. Start the Container

Run the following command to start Home Assistant:

podman compose -f ~/hass/compose.yaml up

The first startup may take a few minutes while the image is downloaded and initialized.

  1. Access Home Assistant

Once the container is running, you can access Home Assistant in your browser:

http://your.IP//:8123

🔌 Zigbee Stick Integration

  1. Verify USB Device Mapping

All USB devices are exposed under:

/dev/usb-devices

To identify your Zigbee stick, run:

ls -l /dev/usb-devices/symlinks/

Example output:

lrwxrwxrwx 1 app_user plcnext 16 Jun 12 11:07 usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20221129211414-if00 -> ../nodes/ttyACM0

👉 Important: The device name will differ depending on your hardware.

  1. Configure Zigbee in Home Assistant

After logging into Home Assistant:

Go to Settings → Devices & Services

Add a new Zigbee integration Use the correct device path, for example:

/dev/usb-devices/symlinks/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20221129211414-if00

For the Sonoff Zigbee Dongle E, use:

EZSP driver

Software data flow

🏁 Final Result Once everything is configured:

Your Zigbee network can be initialized Devices can be paired and controlled Automation workflows can run locally on the Catan C1

💡 Conclusion With the openness of PLCnext Core and the simplicity of Podman containers, the Catan C1 becomes much more than a classical controller—it turns into a powerful edge IoT platform. Running Home Assistant rootless ensures:

Better security Clean user separation Easy deployment and maintenance

This approach is a great example of combining industrial control systems with modern IT ecosystems.

Bild-6.png
Bild-7.png

Note:

The Makers Blog shows applications and user stories of community members that are not tested or reviewed by Phoenix Contact. Use them at your own risk.

Discussion

Please login/register to comment

Login/Register

Leave a Reply

Newsletter
Never miss a new article
Sign up for the newsletter
Never miss news about PLCnext Technology
Get interesting content via newsletter four times a year
Receive exclusive information before all other users