Skip to content

blog.lammel.ch

Menu
  • Home
  • Link Library
  • Enterprise Architecture
  • Impressum
Menu

Ubiquiti UniFi U7 Pro Wall

Posted on June 21, 2025June 22, 2025 by ben
  1. Why UniFi?
  2. First Impressions: UniFi U7 Pro Wall
  3. UniFi Network Application Required
  4. Docker Setup on Raspberry Pi
  5. Important Note on MongoDB
  6. Device Adoption Note
  7. Power Consumption
  8. First Impressions & Concerns

As part of a broader effort to modernize my private home network, I’ve been diving into the Ubiquiti UniFi ecosystem. This post covers my first steps and experiences with the UniFi U7 Pro Wall access point, including setup and key insights.


Why UniFi?

I’ve been planning to upgrade my network both in terms of performance and manageability. Ubiquiti’s UniFi product line is known for its centralized management, scalability, and sleek hardware design — so it seemed like a good fit for what I had in mind.


First Impressions: UniFi U7 Pro Wall

I decided to start with the UniFi U7 Pro Wall, one of the newer Wi-Fi 7 access points designed for in-wall mounting — great for both aesthetics and performance.

One important note:
👉 The access point is Power over Ethernet (PoE) only, meaning you’ll need a PoE-enabled switch or injector to power it.


UniFi Network Application Required

To configure and manage UniFi devices, you’ll need the UniFi Network Application — a centralized interface for setting up, securing, and optimizing your UniFi environment (access points, switches, gateways, etc.).

There are two main deployment options:

  • Cloud-based, which requires either:
    • A UniFi Cloud Gateway device
    • Or a UniFi cloud subscription
  • Local installation, which you can host on your own hardware

For my use case, I opted for a self-hosted local installation on a Raspberry Pi using Docker, keeping things flexible and subscription-free.


Docker Setup on Raspberry Pi

I followed the guide and used the Docker image from LinuxServer.io.

🔗 Repositories and docs:

  • GitHub Repo
  • Docker Image Documentation

Important Note on MongoDB

The UniFi Network Application requires an external MongoDB instance, which is not included in the container.

⚠️ Avoid using the latest MongoDB tag — automatic upgrades between major MongoDB versions are not supported and may break compatibility. Stick to a supported, fixed version (e.g., mongo:8.0.10-noble) to avoid surprises during updates.

docker-compose.yml

services:
  unifi-network-application:
    image: lscr.io/linuxserver/unifi-network-application:latest
    container_name: unifi-network-application
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - MONGO_USER=unifi
      - MONGO_PASS=CHANGE_DB_PASSWORD
      - MONGO_HOST=unifi-db
      - MONGO_PORT=27017
      - MONGO_DBNAME=unifi
      - MONGO_AUTHSOURCE=admin
      - MEM_LIMIT=1024 #optional
      - MEM_STARTUP=1024 #optional
      - MONGO_TLS= #optional
    volumes:
      - /data/unifi/app:/config
    ports:
      - 8443:8443
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 8501:1900/udp
      - 8843:8843
      - 8880:8880
      - 6789:6789
      - 5514:5514/udp
    restart: unless-stopped
  unifi-db:
    image: docker.io/mongo:latest
    container_name: unifi-db
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=CHANGE_ROOT_PASSWORD
      - MONGO_USER=unifi
      - MONGO_PASS=CHANGE_DB_PASSWORD
      - MONGO_DBNAME=unifi
      - MONGO_AUTHSOURCE=admin
    volumes:
      - /data/unifi/db:/data/db
      - ./init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro
    restart: unless-stopped

init-mongo.sh

#!/bin/bash

if which mongosh > /dev/null 2>&1; then
  mongo_init_bin='mongosh'
else
  mongo_init_bin='mongo'
fi
"${mongo_init_bin}" <<EOF
use ${MONGO_AUTHSOURCE}
db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}")
db.createUser({
  user: "${MONGO_USER}",
  pwd: "${MONGO_PASS}",
  roles: [
    { db: "${MONGO_DBNAME}", role: "dbOwner" },
    { db: "${MONGO_DBNAME}_stat", role: "dbOwner" },
    { db: "${MONGO_DBNAME}_audit", role: "dbOwner" }
  ]
})
EOF

Accessing the UniFi Controller

Once the containers are up and running, the UniFi Network web interface becomes available at:

🔗 https://<IP-ADDRESS>:8443

To log in, you’ll need a Ubiquiti account. After signing in, simply follow the setup wizard to configure your network and adopt the new access point.


Device Adoption Note

As mentioned in the README, I had to adjust one key setting to successfully adopt the device:

Go to: Settings > System > Advanced, and set the Inform Host to a hostname or IP address that is accessible by your devices.

However, this option seems to have been removed in the latest versions of the controller. Since my containers are set to update automatically on a daily basis, this might be outdated. It’s something worth double-checking if you’re setting up a fresh instance — especially if device adoption fails.


Power Consumption

Over the course of three days, I monitored power usage for both the UniFi U7 Pro Wall and the connected PoE switch (Netgear GS308EPP-100PES). Together, they averaged around:

🔌 28 watts

This is relatively efficient, especially considering the access point is running full-time with multiple connected devices.


First Impressions & Concerns

So far, the UniFi setup experience has been smooth. The software offers a rich feature set — and there’s still a lot for me to explore, particularly around network optimization, traffic analysis, and VLAN setup.

That said, one thing stood out:

🌡️ The access point gets noticeably warm, with surface temperatures between 45–58°C. While this seems to be within spec and not unusual for compact PoE devices, it’s something to keep in mind — especially if you’re installing it in a thermally sensitive area.

Recent Posts

  • Ubiquiti UniFi U7 Pro Wall
  • Athens, Greece — A Quick Travel Recap
  • QuickRef: The Developer’s Cheat Sheet Companion
  • Killed by Google: A Digital Graveyard
  • The Magic of Rubber Duck Debugging

Categories

  • Home Assistant (1)
  • Interesting (3)
  • Raspberry PI (2)
  • Travel (1)
  • Uncategorized (2)

Tags

  • container (1)
  • english (6)
  • guide (2)
  • knowledge (1)
  • link (2)
  • MQTT (1)
  • tech (2)
  • term (1)
  • travel (1)
  • zigbee (1)
© 2025 blog.lammel.ch | Powered by Minimalist Blog WordPress Theme