Free tools Windows power users keep installed
One-click scans. No signup required.
Run the official ghcr.io/esphome/esphome image with a persistent directory mounted at /config, publish TCP port 6052, and open that port in your VPS firewall. Use fixed IP addresses in device YAML files when the VPS cannot reach your LAN’s mDNS broadcasts. Flashing a board for the first time still requires a computer with the board connected by USB; a typical remote VPS has no USB device to pass through.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What the VPS installation actually provides
ESPHome is a firmware builder and device dashboard. The Docker container stores your YAML configurations, compiles firmware, and serves the web dashboard. The dashboard listens on port 6052 by default. A VPS gives you an always-on place to run that dashboard, but it does not automatically put the server on the same local network as your ESP devices.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →That network distinction determines which Docker configuration you should use:
- Published-port mode: Docker maps port
6052to the VPS. This is the practical default for a remote server, but ESPHome cannot rely on local mDNS discovery. Each device should have a reachable fixed address in its YAML. - Host-network mode: Docker shares the Linux host’s network stack. ESPHome can use mDNS, resolve names ending in
.local, and report online status more naturally. This works only when the VPS can actually reach the devices’ network; host mode does not bridge unrelated networks over the internet.
The official image has three release channels: the untagged image (the stable channel), beta, and dev. Use the stable channel unless you have a specific reason to test another one.
#1 Best Overall
- 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.
Prerequisites and a sensible directory layout
Before creating the container, make sure the VPS has:
- A supported Docker Engine installation and permission to run Docker commands.
- Enough disk space for configuration files, build caches, and generated firmware.
- A firewall policy that permits TCP
6052from the addresses that should reach the dashboard. - A directory that will survive container recreation, such as
/srv/esphome, owned or writable by the account running Docker.
Check the installed components before proceeding:
docker --version
docker compose version
Create the configuration directory and enter it. Keeping the shell in this directory makes the official volume example, which uses ${PWD}, work as written:
sudo mkdir -p /srv/esphome
sudo chown "$USER":"$USER" /srv/esphome
cd /srv/esphome
If your Docker setup already uses a dedicated service account, grant that account access instead of changing ownership to your personal user.
Option 1: run the dashboard with a published port
For a VPS that is not on the same LAN as the devices, start with ordinary port publishing. The official getting-started form is:
docker run --rm -p 6052:6052 -v "${PWD}":/config -it ghcr.io/esphome/esphome
Without a subcommand, the image starts the ESPHome dashboard. The command keeps the process attached to your terminal and removes the container when it exits. For an always-on VPS, use a named detached container and an absolute host path instead:
docker run -d
--name esphome
--restart unless-stopped
-p 6052:6052
-v /srv/esphome:/config
ghcr.io/esphome/esphome
The left side of -v /srv/esphome:/config is persistent VPS storage; the right side is the path expected by ESPHome inside the container. Recreating or updating the container will not remove your YAML files as long as the host directory remains.
Open http://SERVER_ADDRESS:6052 after the container starts, replacing SERVER_ADDRESS with the VPS address. If the page does not load, check the container first:
docker ps
docker logs --tail 100 esphome
Then check both firewall layers: the VPS provider’s network firewall and the operating system firewall. Allow inbound TCP 6052 only where needed; exposing the dashboard to every internet address is a larger attack surface than restricting it to your administration network or a private tunnel.
Rank #2
- 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
What published-port mode can and cannot discover
Port publishing exposes the web interface, not the VPS’s entire local network. ESPHome’s automatic mDNS discovery depends on multicast traffic that a remote VPS normally cannot see. Add a fixed address to each device configuration so the dashboard knows where to send API and OTA traffic.
For a device whose address may change, reserve an address in your router and use use_address in the device YAML:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutewifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: 192.168.1.50
If you configure a static address directly on the device, use ESPHome’s manual_ip block instead:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.50
gateway: 192.168.1.1
subnet: 255.255.255.0
Choose the approach that matches your network design. The address must be reachable from the machine that performs the API or OTA operation; placing an address in YAML does not create a route between the VPS and a private home LAN.
Option 2: use Docker host networking on Linux
Host networking removes Docker’s port translation and lets the container use the Linux host’s network interfaces directly. Start the dashboard with:
docker run -d
--name esphome
--restart unless-stopped
--net=host
-v /srv/esphome:/config
ghcr.io/esphome/esphome
In this mode, do not add -p 6052:6052; the container binds the dashboard directly on the host’s port 6052. The dashboard can use mDNS discovery and resolve device names such as living-room.local when the VPS is on the same layer-2 network, or when your routing and multicast forwarding explicitly provide that visibility.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Host networking is a Linux-host feature in the documented Docker setup. A VPS in a datacenter is usually separated from a home or workshop LAN, so host mode alone does not solve that separation. You still need a routed connection, VPN, or another network design that allows the server to reach the devices.
Docker Compose configurations
Compose is useful when you want the volume, restart policy, and network choice recorded in one file. Save this as compose.yaml for a Linux host-network deployment:
Rank #3
- 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)
services:
esphome:
image: ghcr.io/esphome/esphome
container_name: esphome
network_mode: host
volumes:
- /srv/esphome:/config
privileged: true
restart: unless-stopped
The official Compose example includes network_mode: host, the /config volume, and privileged: true. Privileged mode grants broad device and kernel access, so use it only when your deployment needs the capabilities documented for your environment. A dashboard-only container that never touches a USB serial device may not need those permissions, but removing settings from an official example should be a deliberate security decision.
If the VPS is using ordinary port publishing instead, use a Compose service like this:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsservices:
esphome:
image: ghcr.io/esphome/esphome
container_name: esphome
ports:
- "6052:6052"
volumes:
- /srv/esphome:/config
restart: unless-stopped
Start, stop, and inspect it with:
docker compose up -d
docker compose ps
docker compose logs --tail 100 esphome
docker compose down
Do not define a ports mapping together with host networking. The two networking models expose the service differently, and the firewall rules you need depend on which model is active.
Open and protect the dashboard port
Port 6052 is the dashboard’s default, and the command-line interface exposes a --port option if you need another listening port. A nonstandard external port can reduce casual scanning, but it is not authentication or encryption.
Allow TCP 6052 in both places that can filter traffic:
- Add an inbound rule in the VPS provider’s firewall or security-group panel.
- Add a matching rule in the VPS operating system firewall.
- Limit the source range to your office, home, VPN, or bastion addresses where possible.
- Confirm that Docker is listening on the intended interface and that no other service already owns the port.
If you put the dashboard behind an HTTPS reverse proxy, keep the proxy’s public port and certificate settings separate from ESPHome’s internal port. The ESPHome process still needs to be reachable on its configured local port, while the proxy handles external TLS and access control.
Dashboard authentication: verify the image’s current variable names
ESPHome documentation has used two different environment-variable pairs for dashboard authentication. One installation page names ESPHOME_USERNAME and ESPHOME_PASSWORD; a command-line getting-started page names USERNAME and PASSWORD. Because these names differ by documentation page and may change with the image version, do not assume that one pair works universally.
Before enabling authentication, check the current documentation for the exact image tag you plan to run and then add the verified variables to your Compose service or docker run command. Treat a login prompt as a control that still needs HTTPS and network restriction; credentials sent over an unencrypted public HTTP connection can be intercepted.
Rank #4
- 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
First-time flashing is a local-USB task
A remote VPS normally cannot perform the initial USB flash because the ESP board is physically attached to your computer, not to the server. Docker can pass a Linux serial device into a container when that device exists on the host. The documented pattern is:
Recommended Free Tools
docker run --rm -it
--privileged
--device=/dev/ttyUSB0
-v /srv/esphome:/config
ghcr.io/esphome/esphome
/dev/ttyUSB0 is only an example device path. Your Linux host may expose the board as /dev/ttyACM0 or another serial device. A VPS without a physically attached board has nothing to map, so adding --device=/dev/ttyUSB0 there will not create a usable connection.
Use this workflow for a new device:
- Create and edit the device YAML in the VPS dashboard or in the persistent
/srv/esphomedirectory. - Compile the firmware on the VPS if the build completes successfully.
- Download the generated firmware and flash it from a local computer with the board connected by USB, or perform the first flash with a local ESPHome installation.
- Give the device a stable address through DHCP reservation,
use_address, ormanual_ip. - After the device joins the network and the VPS has a route to it, use OTA updates from the dashboard.
Docker on macOS cannot access host USB devices in the same way as a native Linux host. Use a local flashing workflow that has direct USB access, then let the VPS handle subsequent builds and network-based updates.
Networking checklist for a remote VPS
Before expecting a device to appear online, verify the entire path rather than only the container:
- The device has joined Wi-Fi and has the address you entered in its YAML.
- The device’s subnet has a route back to the VPS network.
- Any VPN, router ACL, or cloud firewall permits the ESPHome API and OTA traffic you intend to use.
- DNS or mDNS names resolve from the VPS only if you have deliberately extended that naming service across the networks.
- The dashboard container is running and its persistent configuration directory is mounted read-write.
A VPS can serve the dashboard perfectly while still being unable to reach every device. That is a routing problem, not evidence that the Docker image failed.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Troubleshooting common failures
The browser cannot open port 6052
Run docker ps and inspect the logs. In published-port mode, confirm that the container shows a 6052:6052 mapping. In host mode, confirm that no other process occupies port 6052. Then review the provider firewall and the operating system firewall. Testing from a network outside the VPS can reveal whether an upstream rule is blocking the connection.
The dashboard loads but devices are missing
On a remote VPS, missing mDNS entries are expected when multicast does not cross the network boundary. Set use_address or manual_ip, confirm routing, and use the device’s numeric address. Host networking helps only when the Linux host can see the same device network.
Devices compile but OTA fails
Compilation is local to the container; OTA is a network operation. Verify that the address in the YAML is current, that the device can route back to the VPS, and that intervening firewalls allow the required traffic. A successful build does not prove that the VPS can reach the board.
Best Value
- 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.
A USB board is not detected
Check the local machine first: the serial device must exist there before Docker can pass it through. On Linux, use the correct --device path and the permissions required by your account. A remote VPS with no attached board cannot perform this step.
The container loses configurations after an update
Inspect the volume declaration. Every run or Compose service should mount the same host directory to /config. If you accidentally mounted an empty directory or used a different path, the new container will show no projects even though the old files still exist elsewhere.
Updating the image without losing projects
Your YAML files live on the VPS host, not in the disposable container, when the /config volume is correct. Back up /srv/esphome before changing image tags. For a Compose deployment, pull the selected image and recreate the service:
docker compose pull
docker compose up -d
For a named docker run container, stop and remove the old container, then run the same command again with the unchanged volume path. Pin a tested tag when you need predictable upgrades; use the stable channel for routine operation and reserve beta or dev for cases where you accept pre-release behavior.
Platform and version notes
Linux VPS
Linux is the straightforward target for host networking and serial-device pass-through. Host mode still requires actual network reachability to the ESP devices; it is not a substitute for routing or a VPN.
Docker Desktop
Docker Desktop’s host-network support has had differing minimum-version statements in Docker documentation: one page lists 4.34 and later after enabling host networking under Settings → Resources → Network, while an FAQ lists 4.29 and later. Check the current Docker documentation and the setting in your installed release instead of relying on either historical minimum. This discrepancy does not affect a conventional Linux VPS.
macOS
Host networking does not behave as expected for this ESPHome use case on macOS. Use port mapping and, where the current ESPHome guidance requires it, set ESPHOME_DASHBOARD_USE_PING=true. macOS Docker also cannot pass host USB devices directly into the container, so perform initial flashing with a USB-capable local workflow.
ESPHome release changes
ESPHome 2026.6.0 is titled “Meet the new Device Builder.” Because dashboard features and authentication behavior can change between image tags, read the release notes and the current installation documentation when upgrading, especially if you depend on a specific dashboard workflow or environment-variable name.
A practical deployment decision
Choose published-port mode when the VPS is mainly a remote build server and your devices have stable addresses reachable through a route or VPN. Choose host networking on a Linux host when the server genuinely shares the devices’ network and you need mDNS, .local names, or automatic online discovery. In either case, persist /config, protect the dashboard port, and plan the first USB flash on a machine that physically has the board.
Recommended Free Tools
Quick Recap
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.




