DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

Home Assistant Docker Compose Ports: What to Open and Why

A practical guide to Home Assistant Container networking: publish TCP 8123 in bridge mode, omit ports in host mode, support HomeKit mDNS, and handle SSDP discovery safely.
Length8 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For Home Assistant Container in ordinary Docker bridge mode, publish the web server with 8123:8123 over TCP. The official Linux Container example instead uses network_mode: host, where the container shares the host network and a ports: section is unnecessary and rejected by Docker. HomeKit Bridge adds mDNS on UDP 5353 and a TCP bridge port of 21063 by default. Do not forward 8123 directly to the public internet; use Home Assistant Cloud or a VPN, or configure a reverse proxy and its trust settings correctly.

The short answer: choose ports from your network mode

Home Assistant Container has one port that almost every installation needs: TCP 8123. It serves the frontend, REST API and WebSocket endpoint. In bridge networking, Docker keeps the container on an isolated network, so clients on your LAN cannot reach that service until you publish a host-to-container mapping. The normal mapping is 8123:8123; the first number is the host port and the second is the container port.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Host networking works differently. With network_mode: host, the container uses the host’s network stack directly. Home Assistant listens on the host network, so there is no translation layer and no ports: block to add. Docker Compose treats host networking and published ports as mutually exclusive.

Use case Compose choice Port or networking requirement Reason
Web UI, REST and WebSocket API in bridge mode Default bridge network with ports: TCP 8123:8123, or another host port mapped to container port 8123 Creates the host-to-container path clients need
Official Linux Container style network_mode: host No ports: section The container already uses every host interface and port it listens on
HomeKit Bridge Bridge networking with multicast support, or host networking UDP 5353 and TCP 21063 by default mDNS advertises the bridge; TCP carries HomeKit traffic
SSDP or UPnP discovery Usually host networking or a correctly configured multicast relay No single universal TCP port Discovery depends on LAN broadcast and multicast visibility
Remote access from outside the home VPN or Home Assistant Cloud preferred Avoid direct public forwarding of 8123 Reduces exposure of the Home Assistant service

What TCP 8123 actually provides

TCP 8123 is Home Assistant Container’s default HTTP server port. Opening it on the local network gives browsers access to the dashboard and lets clients use the REST and WebSocket APIs. It is not a separate port for each dashboard, integration or device: the frontend and those APIs share this listener.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

The server port can be changed in Home Assistant at Settings > System > Network. If you change it, the number clients connect to must match the new value. In bridge mode, the container-side port in Compose must match Home Assistant’s configured listening port, while the host-side port may be different. For example, mapping 8080:8123 makes users browse to port 8080 on the Docker host while Home Assistant still listens on 8123 inside the container.

Bridge mode: publish the web interface correctly

Use bridge mode when you want explicit port publishing and are comfortable handling discovery requirements separately. A minimal Compose service for the web interface is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    ports:
      - '8123:8123'

After starting the service, connect to the Docker host’s address on port 8123, such as http://host-address:8123. The mapping does not change the container’s internal port; it tells Docker to listen on host port 8123 and forward TCP traffic to port 8123 in the container.

Map a different host port

A host port can be changed when 8123 is already occupied:

ports:
  - '8080:8123'

Clients then use http://host-address:8080. Keep the second number at the port Home Assistant is configured to use. Changing only the host-side number does not require a Home Assistant setting change; changing the container-side number does.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Start and verify the service

  1. Save the Compose file and check its syntax with docker compose config.
  2. Start or recreate the service with docker compose up -d.
  3. Open the mapped host address and port from a device on the same LAN.
  4. If the page does not load, inspect the service logs with docker compose logs homeassistant and verify that another process is not already using the host port.

A working browser connection proves only that TCP web traffic reaches Home Assistant. It does not prove that multicast discovery traffic can cross the Docker bridge.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Host networking: why there is no ports section

The official Linux Container example uses:

services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    network_mode: host

In this mode, Home Assistant binds directly to the host network stack. The host’s interfaces, routes and listening ports are visible to the container, which is why integrations that depend on local multicast or broadcast often work more reliably.

Do not add:

ports:
  - '8123:8123'

to that same service. Docker documents that host mode already exposes the container on the host network and that port mapping is unsupported. Compose may reject the configuration rather than starting the container. Remove ports: when using host mode, then connect to the host address and Home Assistant’s configured server port.

HomeKit Bridge requires two kinds of traffic

HomeKit Bridge is not just another client of the web interface. Its pairing and discovery path uses mDNS (also called Zeroconf) and a separate TCP listener.

Traffic Default value Function
mDNS UDP 5353 Advertises the Home Assistant bridge on the local network; Home Assistant advertises _home-assistant._tcp.local. for instance discovery
HomeKit Bridge connection TCP 21063 Carries HomeKit traffic after discovery and pairing

If the integration’s port option has been changed, use that configured TCP value instead of 21063 in firewall and network rules. The UDP 5353 requirement remains the mDNS discovery channel.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

When the bridge does not appear in the Home app

  1. Confirm Home Assistant itself is reachable at its normal web address.
  2. Check whether the Docker network can pass UDP multicast, not only TCP 8123.
  3. Allow UDP 5353 between the HomeKit controller and the host running Home Assistant.
  4. Allow the configured HomeKit Bridge TCP port, 21063 by default.
  5. If bridge networking still prevents discovery, switch the container to network_mode: host, which the HomeKit documentation recommends for Docker pairing problems.
  6. For an intentionally isolated Docker network, deploy an mDNS forwarder such as Avahi in reflector mode and configure it to relay between the relevant interfaces.

Publishing 8123 alone cannot make mDNS work. Discovery packets are multicast and are not reproduced by an ordinary one-to-one TCP port mapping.

SSDP, UPnP and other discovery integrations

SSDP/UPnP integrations discover devices through local broadcast or multicast announcements. There is no single extra TCP port that you can publish to substitute for that behavior. A browser request to http://host:8123 can succeed while SSDP discovery fails because the two paths use different network mechanisms.

Use host networking when an integration requires direct LAN visibility. If host mode is not suitable, use a correctly configured multicast relay that forwards discovery traffic between the Docker bridge and the LAN. The relay must preserve the multicast behavior the integration expects; adding arbitrary TCP mappings will not solve an SSDP problem.

Binding a published port safely

Compose’s short port syntax is [HOST:]CONTAINER[/PROTOCOL]. If you omit a host IP, Docker binds the published port to 0.0.0.0, meaning all host interfaces. That can include interfaces you did not intend to expose.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Restrict the listener by specifying the host IP, for example:

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
ports:
  - '192.168.1.10:8123:8123'

This accepts connections on the host’s 192.168.1.10 interface rather than every interface. Keep the operating-system firewall aligned with the same policy: allow the LAN sources that need Home Assistant and block untrusted networks. If you bind to a loopback address such as 127.0.0.1, only software on the Docker host can connect directly; a reverse proxy on that host can still reach it, but other LAN devices cannot.

Why direct internet forwarding is a poor default

Forwarding TCP 8123 from a router to the Docker host makes the Home Assistant login service reachable from the public internet. Home Assistant’s remote-access guidance recommends Home Assistant Cloud or a VPN instead. Those approaches avoid turning the default web listener into a directly exposed endpoint.

A reverse proxy can be used when you understand the additional configuration. Home Assistant must be configured to trust the proxy correctly; otherwise forwarded client information and security checks can be wrong. The proxy should terminate external connections, enforce its own access policy and forward only the traffic you intend. Do not assume that changing 8123 to an obscure host port makes public exposure safe.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Changing ports without breaking the installation

Changing only the host port

Use a mapping such as 8080:8123 when you need a different external port on the Docker host. Home Assistant continues listening on 8123, and users connect to host port 8080. Update bookmarks, local firewall rules and any reverse proxy upstream address.

Changing Home Assistant’s server port

Change the value under Settings > System > Network, then make the container-side Compose mapping match it. If Home Assistant listens on 8124 inside the container, a corresponding mapping is 8124:8124, or 8080:8124 when you want host port 8080. A mismatch leaves Docker forwarding to a port on which no Home Assistant listener exists.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Changing the HomeKit Bridge port

When the integration’s HomeKit port option is changed, update the firewall and any network policy to the new TCP value. mDNS still uses UDP 5353 for discovery. Re-pairing may be necessary if the bridge identity or advertised endpoint changes.

Troubleshooting by symptom

The browser cannot open Home Assistant

  • In bridge mode, confirm a ports: mapping exists and that its host port is the one in the URL.
  • Check that the container is running and that no other process owns the host port.
  • Verify the host firewall allows the intended LAN source.
  • Confirm the URL uses the Docker host address, not an address that exists only inside the container network.
  • If you changed the server port, ensure the container-side mapping matches Home Assistant’s configured listener.

Compose reports an error about host mode and ports

Remove the entire ports: section when network_mode: host is present. Host networking exposes the service through the host stack and does not support Docker’s port-publishing mechanism.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

HomeKit pairing fails although 8123 works

Check UDP 5353 multicast reachability and the HomeKit Bridge TCP port, 21063 by default. If the container is in bridge mode, try host networking or provide an mDNS reflector. A successful web request checks only unicast TCP, not discovery.

Devices are not found by SSDP or UPnP

Check multicast and broadcast visibility between the container and the LAN. Prefer host networking or deploy a suitable discovery relay. Do not spend time adding unrelated TCP mappings; SSDP has no universal published web port.

Remote access works only from inside the house

Do not solve this by forwarding 8123 publicly as a first step. Set up a VPN or Home Assistant Cloud. If you choose a reverse proxy, configure Home Assistant to trust that proxy and verify its external access controls.

A practical port checklist

  • Use TCP 8123 for the default Home Assistant web, REST and WebSocket service.
  • In bridge mode, publish a host-to-container mapping such as 8123:8123.
  • In host mode, omit ports: entirely.
  • For HomeKit Bridge, provide UDP 5353 and TCP 21063 unless the integration is configured with another bridge port.
  • For SSDP, Zeroconf and similar integrations, provide multicast visibility through host networking or a correctly configured relay.
  • Remember that an omitted host IP binds to all interfaces (0.0.0.0); specify an interface when narrower exposure is required.
  • Use a VPN or Home Assistant Cloud for access from outside the home instead of directly forwarding 8123.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.