How to connect Docker containers across multiple hosts with WireGuard | Uncloud
Learn how to configure a WireGuard overlay network that lets Docker containers securely communicate across multiple hosts. No exposed ports needed.
Ever wanted your Docker containers running on different hosts to securely talk to each other without exposing ports?
Here's my guide on using pure WireGuard to make this work across clouds and even behind NAT +a sneak peek at Uncloud, the tool I built to automate it all
uncloud.run/blog/connect...
05.08.2025 02:31 — 👍 1 🔁 0 💬 0 📌 0
It works. But at first I tried to convert my tailwind-styled page into a regular docusaurus page and it was a nightmare to fight with react and all the automatic docusaurus injections into the page. Don’t try this at home kids
31.07.2025 11:54 — 👍 0 🔁 0 💬 0 📌 0
4. After creating a docusaurus build, overwrite the generated /index.html with my landing page. I couldn’t put it into docusaurus static because it caused conflict with the generated index.html 🙈
31.07.2025 11:54 — 👍 0 🔁 0 💬 1 📌 0
1. Need to create an empty docusaurus page for root path / (pages/index.js)
2. Set navbar.logo.href to fqdn
3. Swizzle the DocBreadcrumbs component and overwrite baseUrl (/ → /docs) so that home leads to the root of docs instead of the empty page
31.07.2025 11:54 — 👍 0 🔁 0 💬 1 📌 0
Managed to deploy docusaurus-generated docs and a landing page (static html with tailwind css) as one bundle of static html such that:
/ → standalone landing page html
/docs and /blog → html generated from markdown
Finding the right incantation was non-trivial 👇
31.07.2025 11:54 — 👍 0 🔁 0 💬 1 📌 0
Uncloud looks super promising in this space. The power of docker without the overhead of k8s
> no central control plane to maintain. Each machine maintains a synchronised copy of the cluster state through peer-to-peer communication
🆒
uncloud.run
29.07.2025 08:10 — 👍 10 🔁 3 💬 0 📌 0
services:
app:
x-ports:
- example.com:8000/https
18.07.2025 12:15 — 👍 0 🔁 0 💬 0 📌 0
Docker Compose spec allows extending it with arbitrary fields prefixed with ‘x-’. People use this to define common blocks e.g. env vars and reuse them with yaml anchors.
Uncloud extends the service spec with ‘x-ports’ to publish container ports as http(s) via the reverse proxy 👇
18.07.2025 12:15 — 👍 0 🔁 0 💬 1 📌 0
Had a chat with a guy who still runs Rancher 1.6 at their company. FYI it was killed >5 years ago.
They’re looking for alternatives which are not k8s but are not happy with any, and uncloud isn't quite there yet.
18.07.2025 12:14 — 👍 0 🔁 0 💬 0 📌 0
While basic operations are standardised, terminal feature sets still differ:
- 256 colours or true colour
- unicode and hyperlinks handling
- mouse support
- image display
Cases like SSH sessions, tmux, zellij sometimes need special handling as well.
10.07.2025 05:33 — 👍 0 🔁 0 💬 0 📌 0
It's much less critical today as we don't use physical terminals anymore. They have been replaced with terminal emulators (ghostty or iterm2) which converged on common standards like vt100/xterm.
10.07.2025 05:33 — 👍 0 🔁 0 💬 1 📌 0
TIL about terminfo, a technology from the 80s. It's a database at /usr/share/terminfo that tells TUI programs how to control different terminals. Like how to clear the screen, print colors, or what capabilities are supported. Programs access this info using libraries such as ncurses or tcell.
10.07.2025 05:33 — 👍 0 🔁 0 💬 1 📌 0
Appreciate the kind words! ❤️ Keeping things simple and familiar while adding the missing pieces like multi-machine rollouts is the way to go
03.07.2025 03:36 — 👍 0 🔁 0 💬 0 📌 0
Woke up to find out my friend x.com/megaserg
is sponsoring me on github! Thank you for believing in my work mate! ❤️
02.07.2025 00:06 — 👍 0 🔁 0 💬 0 📌 0
Most of the time, I try to find workarounds or fixes on my own by reading the code to avoid bothering other people. But I think I'm changing. There are so many smart people willing to help out there and I really enjoy talking to them.
01.07.2025 06:01 — 👍 0 🔁 0 💬 0 📌 0
I'm so grateful to people who take their time to create issues on GitHub reporting bugs or asking about features. I rarely do this myself unless it's really critical for my use case.
01.07.2025 06:01 — 👍 0 🔁 0 💬 1 📌 0
This is huge - I've got my very first open source sponsorship! 🥹 Thank you github.com/reorx for believing in Uncloud, this means the world to me! 🙏
Let's make the dreams come true!
01.07.2025 06:00 — 👍 0 🔁 0 💬 0 📌 0
All I want is a Renaissance of the unbloated focused Docker tooling we were building before k8s shut it down and replaced with tasteless enterprise monsters.
Emerging from a dark age of complexity into enlightenment 😅
27.06.2025 02:00 — 👍 0 🔁 0 💬 0 📌 0
That's what I'm dreaming of delivering with Uncloud. I'm betting on something maintainable and easily recoverable instead of chasing self-healing distributed systems.
26.06.2025 13:32 — 👍 0 🔁 0 💬 0 📌 0
- for stateless containers, we need replicated deployments with rollbacks
- for DBs and other stateful containers, we need persistent volumes with instant snapshots and quick backup/restore to other servers/external storage/S3. For critical cases, streaming replication (I’m looking at you ZFS)
26.06.2025 13:32 — 👍 1 🔁 0 💬 1 📌 0
You should be able to easily migrate or scale such apps when you need to replace or upgrade servers or quickly restore from backup if they fail badly. Still maintaining three or four 9s if done right.
26.06.2025 13:32 — 👍 0 🔁 0 💬 1 📌 0
There's a massive class of web apps that just need a database and a bunch of containers scattered across a few servers.
26.06.2025 13:32 — 👍 0 🔁 0 💬 1 📌 1
I strongly believe Uncloud should exist in some form to have a decent alternative when k8s is too much for you. I'm going to keep exploring what that looks like and make it fun to use.
26.06.2025 07:54 — 👍 0 🔁 0 💬 0 📌 0
5 days later:
unregistry: 0 → 2.5K🌟
uncloud: 350 → 1.1K🌟
twitter: +600 followers
This is crazy! I’ve received incredibly motivating messages. Thank you so much to everyone. You have no idea how much this means to me. I've felt like an imposter almost every day but now a bit less so.
26.06.2025 07:54 — 👍 0 🔁 0 💬 1 📌 0
I’m not giving up. I'm doubling down.
I set a goal for Uncloud to hit 1K🌟 this year and finally get some visibility — or perhaps give up otherwise. Last week my friend and I released unregistry (a tiny subproject) and it hit the front page of the orange site.
26.06.2025 07:54 — 👍 0 🔁 0 💬 1 📌 0