{"slug": "docker-compose", "name": "Docker Compose", "category": "selfhosted", "category_name": "Self-hosted and home server", "description": "Docker tool for defining and running multi-container applications from a YAML file.", "recommenders": 16, "commenters": 34, "warners": 3, "score": 16.28, "rising": 6.71, "first": "2025-11-07", "latest": "2026-10-25", "why": "Liked for running home-server and self-hosted services and local dev stacks with one consistent, low-maintenance setup per app.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 16, "neutral": 15, "compare": 1, "warn": 3}, "spark": [0, 1, 0, 0, 1, 0, 5, 0, 0, 0, 0, 9], "listed": true, "loved": ["Homelab self-hosting", "Local dev stacks"], "caveat": "Silent failures", "short_quote": "I've used basically the same docker compose setup for all my projects that aren't large distributed systems in the last 10 years.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://docs.docker.com/compose/", "pricing": "open source", "aliases": ["Docker Compose"], "verdict": [{"text": "Liked for running home-server and self-hosted services", "cites": [{"id": 803263985, "item_id": 50203999, "url": "https://news.ycombinator.com/item?id=50203999", "by": "shykes", "date": "2026-10-23", "stance": "recommend", "quote": "I use docker compose on almost every personal project - like a minecraft server for my kids, home automation, AI hacks, etc.", "excerpt": "Thank you for sharing that! Yes, I still use Docker. Although my way of using it has changed over time, like many others I assume. My new project, Dagger, although it doesn't directly compete with Docker, does implement its own container runtime and orchestrator (for CI pipelines), and we recently added compatibility with Dockerfiles and Docker Compose files... So increasingly I find myself using Dagger instead of Do", "context": "", "use_case": "personal projects", "switched_from": "", "story": "Docker is weird"}, {"id": 801791473, "item_id": 50111967, "url": "https://news.ycombinator.com/item?id=50111967", "by": "c-hendricks", "date": "2026-10-15", "stance": "recommend", "quote": "I also find compose hits the sweet spot for integration into my homelab", "excerpt": "I use traefik so with docker compose/labels it's real easy to give things a reverse proxy with an auth gate and other middleware There's lots of solutions, I also find compose hits the sweet spot for integration into my homelab", "context": "homelab", "use_case": "homelab services", "switched_from": "", "story": "What I self-host"}, {"id": 740478481, "item_id": 46279905, "url": "https://news.ycombinator.com/item?id=46279905", "by": "zenapollo", "date": "2025-12-15", "stance": "recommend", "quote": "finally `ssh homelab \"cd /opt/<homelab>/stacks/<app> && docker compose up -d\"`, and I couldn't be happier to tinker to my heart's desire.", "excerpt": "I'm very pleased that it seems like there is a real movement happening in the self-hosted space. I've been self-hosting for about 6 months and actually started with umbrel because the UI looks so polished, which is comforting for people like me who didn't live in the CL. But there's a reason dev and eng tools always have the CL fallback, the GUI limits customization and hacking. And I hit those limits super fast on U", "context": "self-hosting for about 6 months", "use_case": "homelab app deployment", "switched_from": "Coolify", "story": "Umbrel \u2013 Personal Cloud"}, {"id": 784532416, "item_id": 49033276, "url": "https://news.ycombinator.com/item?id=49033276", "by": "austin-cheney", "date": "2026-07-24", "stance": "neutral", "quote": "I have a dedicated server at the house where I run nearly a dozen services via docker compose.", "excerpt": "My hobby is self-hosting. * I have a dedicated server at the house where I run nearly a dozen services via docker compose. * I wrote my own audio app for playing my self hosted mp3s because everything I found on the App Store was shit. I wanted something like Winamp: a simple media player followed by a playlist of thousands of items that works equally on desktop and iPhone. https://github.com/prettydiff/mp3-master-li", "context": "self-hosting hobbyist", "use_case": "running self-hosted services", "switched_from": "", "story": "Ask HN: Share Your Eccentric Hobby"}]}, {"text": " and local dev stacks with one consistent, low-maintenance setup per app.", "cites": [{"id": 803273152, "item_id": 50204572, "url": "https://news.ycombinator.com/item?id=50204572", "by": "steezeburger", "date": "2026-10-23", "stance": "recommend", "quote": "I'm generally running my local dev stack with Docker compose. Not always, but I use it in a lot of projects.", "excerpt": "Even when I'm not using Docker to deploy something, I'm _probably_ using oci images at the least, but I'm generally running my local dev stack with Docker compose. Not always, but I use it in a lot of projects.", "context": "", "use_case": "local dev stack", "switched_from": "", "story": "Docker is weird"}, {"id": 801808256, "item_id": 50113016, "url": "https://news.ycombinator.com/item?id=50113016", "by": "steezeburger", "date": "2026-10-16", "stance": "recommend", "quote": "I've used basically the same docker compose setup for all my projects that aren't large distributed systems in the last 10 years.", "excerpt": "I like to have consistent architecture across all my services, and I like to see and configure everything in (mostly) one place. If you're running a single go binary, sure do whatever, but if you're running a go binary, and a *arr stack, and a bookmarking service, home assistant, frigate, etc, it gets out of hand pretty quickly. You trade a bit of upfront setup (I mean barely now in the age of LLMs) for easier automa", "context": "", "use_case": "local dev, QA and prod deployment", "switched_from": "", "story": "What I self-host"}, {"id": 801839040, "item_id": 50114940, "url": "https://news.ycombinator.com/item?id=50114940", "by": "Balinares", "date": "2026-10-16", "stance": "recommend", "quote": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack", "excerpt": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack: I can use the same setup for everything, and deploying an entire new thing in a maintainable way is quick and easy. Each app's startup/shutdown is managed using the same templated systemd unit, and Traefik handles the routing and Let's Encrypt cert creation and renewal. Basically I want things reliable and low-mainten", "context": "self-hoster", "use_case": "deploying self-hosted apps", "switched_from": "", "story": "What I self-host"}, {"id": 768504272, "item_id": 48031517, "url": "https://news.ycombinator.com/item?id=48031517", "by": "nrclark", "date": "2026-05-05", "stance": "recommend", "quote": "It's been a super solid tool overall, and I'm pretty happy with it.", "excerpt": "We use a Docker Compose setup for our team's devcontainer. It's defined right in the repo alongside the Dockerfile used to build our image. Our build scripts are all set up to start/stop/use the container automatically. Integration with Vscode's devcontainer system will come next. It's been a great way for us to make sure that developers and CI/CD get exactly the same build environment, mount-points, paths, network a", "context": "team devcontainer setup", "use_case": "team devcontainer and CI build environment", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}]}, {"text": " Complaints are scattered rather than shared:", "cites": [{"id": 782894450, "item_id": 48930903, "url": "https://news.ycombinator.com/item?id=48930903", "by": "SMFloris", "date": "2026-07-15", "stance": "warn", "quote": "Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind)", "excerpt": "IMO, kubernetes is overkill for a small non-homogeneous home cluster. What I use and really recommend is using systemd +/- docker. It just becomes so darn simple. Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind) - instead aim to decompose the compose files and write a separate systemd service file for each of them, you can then assign l", "context": "", "use_case": "homelab stacks", "switched_from": "", "story": "Rebuilding My Homelab with Compose, Ruby, IPv6, and No Kubernetes"}, {"id": 752628818, "item_id": 47039301, "url": "https://news.ycombinator.com/item?id=47039301", "by": "himata4113", "date": "2026-02-16", "stance": "warn", "quote": "I actually struggle with compose ('orchestration' alternative) significantly more since it usually has complicated workarounds to missing features.", "excerpt": "Kubernetes solves real problems for the 1% who need it. The other 99% are paying a massive complexity tax for capabilities they never use, while 87% of their provisioned CPU sits idle. is where the author is just wrong: - abstracts away ssh - makes it pretty unnecessary - rbac multi tenancy - better automations - orchestating more than one cluster - better infra as code - provisions are as good as you make them, if y", "context": "", "use_case": "container orchestration", "switched_from": "", "story": "Docker Swarm vs. Kubernetes in 2026"}, {"id": 768480128, "item_id": 48030008, "url": "https://news.ycombinator.com/item?id=48030008", "by": "delduca", "date": "2026-05-05", "stance": "recommend", "quote": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid.", "excerpt": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid. The only issue is the little downtime during deployments.", "context": "", "use_case": "deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}]}, {"text": " containers that fail silently and leave stacks incomplete, workarounds for missing features, and brief downtime during deployments.", "cites": [{"id": 782894450, "item_id": 48930903, "url": "https://news.ycombinator.com/item?id=48930903", "by": "SMFloris", "date": "2026-07-15", "stance": "warn", "quote": "Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind)", "excerpt": "IMO, kubernetes is overkill for a small non-homogeneous home cluster. What I use and really recommend is using systemd +/- docker. It just becomes so darn simple. Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind) - instead aim to decompose the compose files and write a separate systemd service file for each of them, you can then assign l", "context": "", "use_case": "homelab stacks", "switched_from": "", "story": "Rebuilding My Homelab with Compose, Ruby, IPv6, and No Kubernetes"}, {"id": 752628818, "item_id": 47039301, "url": "https://news.ycombinator.com/item?id=47039301", "by": "himata4113", "date": "2026-02-16", "stance": "warn", "quote": "I actually struggle with compose ('orchestration' alternative) significantly more since it usually has complicated workarounds to missing features.", "excerpt": "Kubernetes solves real problems for the 1% who need it. The other 99% are paying a massive complexity tax for capabilities they never use, while 87% of their provisioned CPU sits idle. is where the author is just wrong: - abstracts away ssh - makes it pretty unnecessary - rbac multi tenancy - better automations - orchestating more than one cluster - better infra as code - provisions are as good as you make them, if y", "context": "", "use_case": "container orchestration", "switched_from": "", "story": "Docker Swarm vs. Kubernetes in 2026"}, {"id": 768480128, "item_id": 48030008, "url": "https://news.ycombinator.com/item?id=48030008", "by": "delduca", "date": "2026-05-05", "stance": "recommend", "quote": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid.", "excerpt": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid. The only issue is the little downtime during deployments.", "context": "", "use_case": "deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}]}], "praise": [{"label": "Homelab self-hosting", "summary": "Commenters run many personal and home services with it, from game servers to home automation.", "quotes": [{"id": 803263985, "item_id": 50203999, "url": "https://news.ycombinator.com/item?id=50203999", "by": "shykes", "date": "2026-10-23", "stance": "recommend", "quote": "I use docker compose on almost every personal project - like a minecraft server for my kids, home automation, AI hacks, etc.", "excerpt": "Thank you for sharing that! Yes, I still use Docker. Although my way of using it has changed over time, like many others I assume. My new project, Dagger, although it doesn't directly compete with Docker, does implement its own container runtime and orchestrator (for CI pipelines), and we recently added compatibility with Dockerfiles and Docker Compose files... So increasingly I find myself using Dagger instead of Do", "context": "", "use_case": "personal projects", "switched_from": "", "story": "Docker is weird"}, {"id": 784532416, "item_id": 49033276, "url": "https://news.ycombinator.com/item?id=49033276", "by": "austin-cheney", "date": "2026-07-24", "stance": "neutral", "quote": "I have a dedicated server at the house where I run nearly a dozen services via docker compose.", "excerpt": "My hobby is self-hosting. * I have a dedicated server at the house where I run nearly a dozen services via docker compose. * I wrote my own audio app for playing my self hosted mp3s because everything I found on the App Store was shit. I wanted something like Winamp: a simple media player followed by a playlist of thousands of items that works equally on desktop and iPhone. https://github.com/prettydiff/mp3-master-li", "context": "self-hosting hobbyist", "use_case": "running self-hosted services", "switched_from": "", "story": "Ask HN: Share Your Eccentric Hobby"}, {"id": 740478481, "item_id": 46279905, "url": "https://news.ycombinator.com/item?id=46279905", "by": "zenapollo", "date": "2025-12-15", "stance": "recommend", "quote": "finally `ssh homelab \"cd /opt/<homelab>/stacks/<app> && docker compose up -d\"`, and I couldn't be happier to tinker to my heart's desire.", "excerpt": "I'm very pleased that it seems like there is a real movement happening in the self-hosted space. I've been self-hosting for about 6 months and actually started with umbrel because the UI looks so polished, which is comforting for people like me who didn't live in the CL. But there's a reason dev and eng tools always have the CL fallback, the GUI limits customization and hacking. And I hit those limits super fast on U", "context": "self-hosting for about 6 months", "use_case": "homelab app deployment", "switched_from": "Coolify", "story": "Umbrel \u2013 Personal Cloud"}]}, {"label": "Local dev stacks", "summary": "Used to spin up local development and QA environments with web servers and databases.", "quotes": [{"id": 803273152, "item_id": 50204572, "url": "https://news.ycombinator.com/item?id=50204572", "by": "steezeburger", "date": "2026-10-23", "stance": "recommend", "quote": "I'm generally running my local dev stack with Docker compose. Not always, but I use it in a lot of projects.", "excerpt": "Even when I'm not using Docker to deploy something, I'm _probably_ using oci images at the least, but I'm generally running my local dev stack with Docker compose. Not always, but I use it in a lot of projects.", "context": "", "use_case": "local dev stack", "switched_from": "", "story": "Docker is weird"}, {"id": 801808256, "item_id": 50113016, "url": "https://news.ycombinator.com/item?id=50113016", "by": "steezeburger", "date": "2026-10-16", "stance": "recommend", "quote": "I've used basically the same docker compose setup for all my projects that aren't large distributed systems in the last 10 years.", "excerpt": "I like to have consistent architecture across all my services, and I like to see and configure everything in (mostly) one place. If you're running a single go binary, sure do whatever, but if you're running a go binary, and a *arr stack, and a bookmarking service, home assistant, frigate, etc, it gets out of hand pretty quickly. You trade a bit of upfront setup (I mean barely now in the age of LLMs) for easier automa", "context": "", "use_case": "local dev, QA and prod deployment", "switched_from": "", "story": "What I self-host"}, {"id": 803669200, "item_id": 50229325, "url": "https://news.ycombinator.com/item?id=50229325", "by": "MikeRichardson", "date": "2026-10-25", "stance": "neutral", "quote": "it's a godsend for setting up a local dev machine or something like that", "excerpt": "> I use docker compose on almost every personal project Even if you don't need to? Even if there's no benefit? I was handed a vibe coded project recently, a radio station playout system. For some reason, it's spread across 8 different Docker containers. One container has just Icecast in it, for example. It's a private system that runs a single station on a dedicated server that we have full control over, but because ", "context": "", "use_case": "local dev environment setup", "switched_from": "", "story": "Docker is weird"}]}, {"label": "Consistent setup", "summary": "One repeatable pattern for every app makes deployments quick, reliable and low-maintenance.", "quotes": [{"id": 801839040, "item_id": 50114940, "url": "https://news.ycombinator.com/item?id=50114940", "by": "Balinares", "date": "2026-10-16", "stance": "recommend", "quote": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack", "excerpt": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack: I can use the same setup for everything, and deploying an entire new thing in a maintainable way is quick and easy. Each app's startup/shutdown is managed using the same templated systemd unit, and Traefik handles the routing and Let's Encrypt cert creation and renewal. Basically I want things reliable and low-mainten", "context": "self-hoster", "use_case": "deploying self-hosted apps", "switched_from": "", "story": "What I self-host"}, {"id": 801808256, "item_id": 50113016, "url": "https://news.ycombinator.com/item?id=50113016", "by": "steezeburger", "date": "2026-10-16", "stance": "recommend", "quote": "I've used basically the same docker compose setup for all my projects that aren't large distributed systems in the last 10 years.", "excerpt": "I like to have consistent architecture across all my services, and I like to see and configure everything in (mostly) one place. If you're running a single go binary, sure do whatever, but if you're running a go binary, and a *arr stack, and a bookmarking service, home assistant, frigate, etc, it gets out of hand pretty quickly. You trade a bit of upfront setup (I mean barely now in the age of LLMs) for easier automa", "context": "", "use_case": "local dev, QA and prod deployment", "switched_from": "", "story": "What I self-host"}, {"id": 803206290, "item_id": 50200393, "url": "https://news.ycombinator.com/item?id=50200393", "by": "ossusermivami", "date": "2026-10-22", "stance": "recommend", "quote": "moved to hosted debian with docker-compose and neveer had a breakage", "excerpt": "I used to run freshrss on nixos and moved to hosted debian with docker-compose and neveer had a breakage either while using docker compose. says a lot about freshrss not about because running on nixos is being more \"stable\"", "context": "", "use_case": "hosting FreshRSS", "switched_from": "NixOS", "story": "NixOS is making me less afraid"}]}, {"label": "Single-box deploys", "summary": "Easy to set up and update small projects on one VPS or home machine.", "quotes": [{"id": 768415488, "item_id": 48025968, "url": "https://news.ycombinator.com/item?id=48025968", "by": "bouh", "date": "2026-05-05", "stance": "recommend", "quote": "I use docker compose a lot for small projects on a single box like Ovh vps.", "excerpt": "I use docker compose a lot for small projects on a single box like Ovh vps. With a reverse proxy on the host. Nice ans easy to setup and update. If you want to test something that is between compose and k8s, check ring: https://github.com/kemeter/ring", "context": "", "use_case": "small single-server deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}, {"id": 755939184, "item_id": 47246199, "url": "https://news.ycombinator.com/item?id=47246199", "by": "carlnewton", "date": "2026-03-04", "stance": "recommend", "quote": "installing docker compose on it", "excerpt": "I've just moved away from hosting on AWS to buying a refurbished Dell Optiplex 5060 and installing docker compose on it. Traffic comes in using a cloudflare tunnel. The only costs are electricity (it's very low power and virtually silent) and the domain (if you need one), and I'm thrilled with it.", "context": "moved from AWS to a refurbished Dell Optiplex", "use_case": "self-hosting on a home server", "switched_from": "AWS", "story": "Ask HN: What's your experience self-hosting in 2026?"}, {"id": 768480128, "item_id": 48030008, "url": "https://news.ycombinator.com/item?id=48030008", "by": "delduca", "date": "2026-05-05", "stance": "recommend", "quote": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid.", "excerpt": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid. The only issue is the little downtime during deployments.", "context": "", "use_case": "deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}]}, {"label": "Readable config", "summary": "Projects ship ready-to-use compose files that also document the architecture and replace custom scripts.", "quotes": [{"id": 801911620, "item_id": 50119476, "url": "https://news.ycombinator.com/item?id=50119476", "by": "Hikikomori", "date": "2026-10-16", "stance": "recommend", "quote": "most projects provide a ready to use compose file that you can copy paste", "excerpt": "I would install latest ubuntu server. I use dockge that provides a simple web interface to manage docker compose files, most projects provide a ready to use compose file that you can copy paste. Then you can use tailscale for remote access, expose to the internet via your router, or expose services with Cloudflared tunnel if you have your own domain, I use cloudflare zero trust just to avoid exposing the service dire", "context": "", "use_case": "deploying self-hosted services", "switched_from": "", "story": "What I self-host"}, {"id": 801775920, "item_id": 50110995, "url": "https://news.ycombinator.com/item?id=50110995", "by": "zzyzxd", "date": "2026-10-15", "stance": "recommend", "quote": "I love reading the compose file when a project has it. It is the quickest way for me to get a high level idea of this project's architecture.", "excerpt": "I don't use Docker but I love reading the compose file when a project has it. It is the quickest way for me to get a high level idea of this project's architecture. It's the best documentation :)", "context": "doesn't use Docker", "use_case": "understanding project architecture", "switched_from": "", "story": "What I self-host"}, {"id": 801016336, "item_id": 50063521, "url": "https://news.ycombinator.com/item?id=50063521", "by": "Neywiny", "date": "2026-10-12", "stance": "recommend", "quote": "a docker compose is even better to mitigate incantations", "excerpt": "I forgot to mention it but a docker compose is even better to mitigate incantations. It seems every project I use that has a docker file also has some custom script around it that boils down to mounts and variables", "context": "", "use_case": "running project containers", "switched_from": "", "story": "I paid people to try and follow my README"}]}, {"label": "Reverse proxy fit", "summary": "Pairs easily with Traefik or Caddy for routing, TLS and auth.", "quotes": [{"id": 801791473, "item_id": 50111967, "url": "https://news.ycombinator.com/item?id=50111967", "by": "c-hendricks", "date": "2026-10-15", "stance": "recommend", "quote": "I also find compose hits the sweet spot for integration into my homelab", "excerpt": "I use traefik so with docker compose/labels it's real easy to give things a reverse proxy with an auth gate and other middleware There's lots of solutions, I also find compose hits the sweet spot for integration into my homelab", "context": "homelab", "use_case": "homelab services", "switched_from": "", "story": "What I self-host"}, {"id": 801839040, "item_id": 50114940, "url": "https://news.ycombinator.com/item?id=50114940", "by": "Balinares", "date": "2026-10-16", "stance": "recommend", "quote": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack", "excerpt": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack: I can use the same setup for everything, and deploying an entire new thing in a maintainable way is quick and easy. Each app's startup/shutdown is managed using the same templated systemd unit, and Traefik handles the routing and Let's Encrypt cert creation and renewal. Basically I want things reliable and low-mainten", "context": "self-hoster", "use_case": "deploying self-hosted apps", "switched_from": "", "story": "What I self-host"}, {"id": 771669585, "item_id": 48229349, "url": "https://news.ycombinator.com/item?id=48229349", "by": "tracker1", "date": "2026-05-21", "stance": "recommend", "quote": "for \"web apps\" I'll pretty much containerize all the things", "excerpt": "Personally, I've been running with Caddy in front of Docker (compose) for most of my personal/hobby usage. If it's a straight website, I'll let Caddy serve the contents directly... for \"web apps\" I'll pretty much containerize all the things and use caddy for TLS termination and reverse-proxy duties to the app running under Docker... Mostly ~/apps/appname, where each appname has a docker compose file, and the data dir", "context": "personal/hobby usage", "use_case": "running web apps", "switched_from": "", "story": "Blog ran on Ubuntu 16.04 for 10 years. I migrated it to FreeBSD"}]}], "caveats": [{"label": "Silent failures", "summary": "One commenter warns a failed database container can silently leave a stack incomplete.", "quotes": [{"id": 782894450, "item_id": 48930903, "url": "https://news.ycombinator.com/item?id=48930903", "by": "SMFloris", "date": "2026-07-15", "stance": "warn", "quote": "Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind)", "excerpt": "IMO, kubernetes is overkill for a small non-homogeneous home cluster. What I use and really recommend is using systemd +/- docker. It just becomes so darn simple. Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind) - instead aim to decompose the compose files and write a separate systemd service file for each of them, you can then assign l", "context": "", "use_case": "homelab stacks", "switched_from": "", "story": "Rebuilding My Homelab with Compose, Ruby, IPv6, and No Kubernetes"}]}, {"label": "Missing features", "summary": "One commenter finds it needs complicated workarounds compared with Kubernetes.", "quotes": [{"id": 752628818, "item_id": 47039301, "url": "https://news.ycombinator.com/item?id=47039301", "by": "himata4113", "date": "2026-02-16", "stance": "warn", "quote": "I actually struggle with compose ('orchestration' alternative) significantly more since it usually has complicated workarounds to missing features.", "excerpt": "Kubernetes solves real problems for the 1% who need it. The other 99% are paying a massive complexity tax for capabilities they never use, while 87% of their provisioned CPU sits idle. is where the author is just wrong: - abstracts away ssh - makes it pretty unnecessary - rbac multi tenancy - better automations - orchestating more than one cluster - better infra as code - provisions are as good as you make them, if y", "context": "", "use_case": "container orchestration", "switched_from": "", "story": "Docker Swarm vs. Kubernetes in 2026"}]}, {"label": "Deploy downtime", "summary": "Remote deploys over DOCKER_HOST=ssh cause a little downtime.", "quotes": [{"id": 768480128, "item_id": 48030008, "url": "https://news.ycombinator.com/item?id=48030008", "by": "delduca", "date": "2026-05-05", "stance": "recommend", "quote": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid.", "excerpt": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid. The only issue is the little downtime during deployments.", "context": "", "use_case": "deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}]}, {"label": "Scattered YAML", "summary": "One commenter finds compose files hard to locate and their labels under-specified.", "quotes": [{"id": 768421649, "item_id": 48026353, "url": "https://news.ycombinator.com/item?id=48026353", "by": "stryan", "date": "2026-05-05", "stance": "warn", "quote": "docker compose files are weird blobs of YAML that I have to hunt down the location of", "excerpt": "> Having your whole application with its containers, volumes, and networks all defined together in one easy-to-read YAML file is a way better experience. Deployment is two steps: 1. `git clone foo` 2. `docker compose up -d`. You can see the state of the application containers with `docker compose ps`. You can run multiple compose applications on the same host and manage them separately by putting them in different di", "context": "", "use_case": "", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}]}, {"label": "Overuse", "summary": "Splitting a simple private app across many containers can make logs and configs harder to reach.", "quotes": [{"id": 803669200, "item_id": 50229325, "url": "https://news.ycombinator.com/item?id=50229325", "by": "MikeRichardson", "date": "2026-10-25", "stance": "neutral", "quote": "it's a godsend for setting up a local dev machine or something like that", "excerpt": "> I use docker compose on almost every personal project Even if you don't need to? Even if there's no benefit? I was handed a vibe coded project recently, a radio station playout system. For some reason, it's spread across 8 different Docker containers. One container has just Icecast in it, for example. It's a private system that runs a single station on a dedicated server that we have full control over, but because ", "context": "", "use_case": "local dev environment setup", "switched_from": "", "story": "Docker is weird"}]}], "who": [{"by": "Balinares", "context": "self-hoster", "url": "https://news.ycombinator.com/item?id=50114940", "date": "2026-10-16"}, {"by": "c-hendricks", "context": "homelab", "url": "https://news.ycombinator.com/item?id=50111967", "date": "2026-10-15"}, {"by": "zzyzxd", "context": "doesn't use Docker", "url": "https://news.ycombinator.com/item?id=50110995", "date": "2026-10-15"}, {"by": "austin-cheney", "context": "self-hosting hobbyist", "url": "https://news.ycombinator.com/item?id=49033276", "date": "2026-07-24"}, {"by": "AnEro", "context": "runs hybrid cloud/local servers at work", "url": "https://news.ycombinator.com/item?id=48745310", "date": "2026-07-01"}, {"by": "tracker1", "context": "personal/hobby usage", "url": "https://news.ycombinator.com/item?id=48229349", "date": "2026-05-21"}, {"by": "nrclark", "context": "team devcontainer setup", "url": "https://news.ycombinator.com/item?id=48031517", "date": "2026-05-05"}, {"by": "carlnewton", "context": "moved from AWS to a refurbished Dell Optiplex", "url": "https://news.ycombinator.com/item?id=47246199", "date": "2026-03-04"}, {"by": "zenapollo", "context": "self-hosting for about 6 months", "url": "https://news.ycombinator.com/item?id=46279905", "date": "2025-12-15"}], "tags": ["for homelabs", "for local dev environments", "for single-server hosting", "for team devcontainers"], "use_cases": ["running containers", "container orchestration", "local dev environment setup", "devops configuration", "local dev stack", "personal projects"], "compared": [{"slug": "quadlet", "name": "Quadlet", "co": 5, "switched_from": 0, "switched_to": 3}, {"slug": "kubernetes", "name": "Kubernetes", "co": 8, "switched_from": 1, "switched_to": 0}, {"slug": "podman", "name": "Podman", "co": 8, "switched_from": 0, "switched_to": 1}, {"slug": "docker", "name": "Docker", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "nixos", "name": "NixOS", "co": 4, "switched_from": 1, "switched_to": 0}, {"slug": "systemd", "name": "systemd", "co": 6, "switched_from": 0, "switched_to": 0}, {"slug": "process-compose", "name": "process-compose", "co": 2, "switched_from": 0, "switched_to": 1}, {"slug": "coolify", "name": "Coolify", "co": 1, "switched_from": 1, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50109715", "title": "What I self-host", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=47962032", "title": "Should I Run Plain Docker Compose in Production in 2026?", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=50202681", "title": "Docker is weird", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=48872031", "title": "Rebuilding My Homelab with Compose, Ruby, IPv6, and No Kubernetes", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50165484", "title": "NixOS is making me less afraid", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50042219", "title": "I paid people to try and follow my README", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"neutral": 2, "recommend": 1, "compare": 1}, "2026-01": {"neutral": 5}, "2026-02": {"warn": 1}, "2026-03": {"recommend": 1}, "2026-04": {"neutral": 1}, "2026-05": {"recommend": 5, "warn": 1}, "2026-06": {}, "2026-07": {"neutral": 4, "warn": 1}, "2026-08": {}, "2026-09": {"neutral": 1}, "2026-10": {"recommend": 9, "neutral": 1}}, "quotes": [{"id": 803669200, "item_id": 50229325, "url": "https://news.ycombinator.com/item?id=50229325", "by": "MikeRichardson", "date": "2026-10-25", "stance": "neutral", "quote": "it's a godsend for setting up a local dev machine or something like that", "excerpt": "> I use docker compose on almost every personal project Even if you don't need to? Even if there's no benefit? I was handed a vibe coded project recently, a radio station playout system. For some reason, it's spread across 8 different Docker containers. One container has just Icecast in it, for example. It's a private system that runs a single station on a dedicated server that we have full control over, but because ", "context": "", "use_case": "local dev environment setup", "switched_from": "", "story": "Docker is weird"}, {"id": 803276385, "item_id": 50204774, "url": "https://news.ycombinator.com/item?id=50204774", "by": "davnicwil", "date": "2026-10-23", "stance": "recommend", "quote": "I've really been enjoying using AI to write docker/compose config and related ad hoc scripts.", "excerpt": "I'll check out Dagger, sounds interesting. Yeah I've really been enjoying using AI to write docker/compose config and related ad hoc scripts. It was all pretty understandable anyway, but now you can just set up whatever you can think of in literally minutes, even if you just want a particular configuration as a one off. It's a great era for devops!", "context": "", "use_case": "devops configuration", "switched_from": "", "story": "Docker is weird"}, {"id": 803273152, "item_id": 50204572, "url": "https://news.ycombinator.com/item?id=50204572", "by": "steezeburger", "date": "2026-10-23", "stance": "recommend", "quote": "I'm generally running my local dev stack with Docker compose. Not always, but I use it in a lot of projects.", "excerpt": "Even when I'm not using Docker to deploy something, I'm _probably_ using oci images at the least, but I'm generally running my local dev stack with Docker compose. Not always, but I use it in a lot of projects.", "context": "", "use_case": "local dev stack", "switched_from": "", "story": "Docker is weird"}, {"id": 803263985, "item_id": 50203999, "url": "https://news.ycombinator.com/item?id=50203999", "by": "shykes", "date": "2026-10-23", "stance": "recommend", "quote": "I use docker compose on almost every personal project - like a minecraft server for my kids, home automation, AI hacks, etc.", "excerpt": "Thank you for sharing that! Yes, I still use Docker. Although my way of using it has changed over time, like many others I assume. My new project, Dagger, although it doesn't directly compete with Docker, does implement its own container runtime and orchestrator (for CI pipelines), and we recently added compatibility with Dockerfiles and Docker Compose files... So increasingly I find myself using Dagger instead of Do", "context": "", "use_case": "personal projects", "switched_from": "", "story": "Docker is weird"}, {"id": 803206290, "item_id": 50200393, "url": "https://news.ycombinator.com/item?id=50200393", "by": "ossusermivami", "date": "2026-10-22", "stance": "recommend", "quote": "moved to hosted debian with docker-compose and neveer had a breakage", "excerpt": "I used to run freshrss on nixos and moved to hosted debian with docker-compose and neveer had a breakage either while using docker compose. says a lot about freshrss not about because running on nixos is being more \"stable\"", "context": "", "use_case": "hosting FreshRSS", "switched_from": "NixOS", "story": "NixOS is making me less afraid"}, {"id": 801950274, "item_id": 50121892, "url": "https://news.ycombinator.com/item?id=50121892", "by": "steezeburger", "date": "2026-10-16", "stance": "neutral", "quote": "Otherwise I'm using the same docker compose setup I've been using for a while!", "excerpt": "I'm sure you could achieve almost all the things I needed with docker compose, but I was using it at work and had designed some clean helm charts so just used them at home. I use it when I need to deploy a service across multiple machines. For personal projects that's pretty much my biggest decider. Otherwise I'm using the same docker compose setup I've been using for a while!", "context": "", "use_case": "single-machine home services", "switched_from": "", "story": "What I self-host"}, {"id": 801911620, "item_id": 50119476, "url": "https://news.ycombinator.com/item?id=50119476", "by": "Hikikomori", "date": "2026-10-16", "stance": "recommend", "quote": "most projects provide a ready to use compose file that you can copy paste", "excerpt": "I would install latest ubuntu server. I use dockge that provides a simple web interface to manage docker compose files, most projects provide a ready to use compose file that you can copy paste. Then you can use tailscale for remote access, expose to the internet via your router, or expose services with Cloudflared tunnel if you have your own domain, I use cloudflare zero trust just to avoid exposing the service dire", "context": "", "use_case": "deploying self-hosted services", "switched_from": "", "story": "What I self-host"}, {"id": 801839040, "item_id": 50114940, "url": "https://news.ycombinator.com/item?id=50114940", "by": "Balinares", "date": "2026-10-16", "stance": "recommend", "quote": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack", "excerpt": "I use Docker Compose so that I don't have to care if the daemon is a single binary or a whole stack: I can use the same setup for everything, and deploying an entire new thing in a maintainable way is quick and easy. Each app's startup/shutdown is managed using the same templated systemd unit, and Traefik handles the routing and Let's Encrypt cert creation and renewal. Basically I want things reliable and low-mainten", "context": "self-hoster", "use_case": "deploying self-hosted apps", "switched_from": "", "story": "What I self-host"}, {"id": 801808256, "item_id": 50113016, "url": "https://news.ycombinator.com/item?id=50113016", "by": "steezeburger", "date": "2026-10-16", "stance": "recommend", "quote": "I've used basically the same docker compose setup for all my projects that aren't large distributed systems in the last 10 years.", "excerpt": "I like to have consistent architecture across all my services, and I like to see and configure everything in (mostly) one place. If you're running a single go binary, sure do whatever, but if you're running a go binary, and a *arr stack, and a bookmarking service, home assistant, frigate, etc, it gets out of hand pretty quickly. You trade a bit of upfront setup (I mean barely now in the age of LLMs) for easier automa", "context": "", "use_case": "local dev, QA and prod deployment", "switched_from": "", "story": "What I self-host"}, {"id": 801791473, "item_id": 50111967, "url": "https://news.ycombinator.com/item?id=50111967", "by": "c-hendricks", "date": "2026-10-15", "stance": "recommend", "quote": "I also find compose hits the sweet spot for integration into my homelab", "excerpt": "I use traefik so with docker compose/labels it's real easy to give things a reverse proxy with an auth gate and other middleware There's lots of solutions, I also find compose hits the sweet spot for integration into my homelab", "context": "homelab", "use_case": "homelab services", "switched_from": "", "story": "What I self-host"}, {"id": 801775920, "item_id": 50110995, "url": "https://news.ycombinator.com/item?id=50110995", "by": "zzyzxd", "date": "2026-10-15", "stance": "recommend", "quote": "I love reading the compose file when a project has it. It is the quickest way for me to get a high level idea of this project's architecture.", "excerpt": "I don't use Docker but I love reading the compose file when a project has it. It is the quickest way for me to get a high level idea of this project's architecture. It's the best documentation :)", "context": "doesn't use Docker", "use_case": "understanding project architecture", "switched_from": "", "story": "What I self-host"}, {"id": 801016336, "item_id": 50063521, "url": "https://news.ycombinator.com/item?id=50063521", "by": "Neywiny", "date": "2026-10-12", "stance": "recommend", "quote": "a docker compose is even better to mitigate incantations", "excerpt": "I forgot to mention it but a docker compose is even better to mitigate incantations. It seems every project I use that has a docker file also has some custom script around it that boils down to mounts and variables", "context": "", "use_case": "running project containers", "switched_from": "", "story": "I paid people to try and follow my README"}, {"id": 794202785, "item_id": 49637674, "url": "https://news.ycombinator.com/item?id=49637674", "by": "bithavoc", "date": "2026-09-10", "stance": "neutral", "quote": "Vagrant for VM provisioning and OS dependencies only. docker-compose for the rest", "excerpt": "I think I understand why, I used Vagrant for many years and this was my evolution: * Vagrant for everything: VM provisioning(always local), os dependencies, app dependencies and the apps themselves was all Vagrant. * Vagrant for VM provisioning and OS dependencies only. docker-compose for the rest * Vagrant for VM provisioning, Rancher 1.6-ish for the rest * Vagrant for VM provisioning and K3S for the rest. * either ", "context": "", "use_case": "running app dependencies", "switched_from": "", "story": "Vagrant is approaching EOL. No more \"Docker for VMs\""}, {"id": 786029009, "item_id": 49126813, "url": "https://news.ycombinator.com/item?id=49126813", "by": "eigencoder", "date": "2026-07-31", "stance": "neutral", "quote": "ideally is in docker compose and defined in code", "excerpt": "Hm, I haven't seen these issues personally. We only have one `.env` file and it's just for local secrets. Configuration emphatically does not go in `.env` and ideally is in docker compose and defined in code (we use Pydantic Settings).", "context": "", "use_case": "configuration", "switched_from": "", "story": "Where .env Went Wrong"}, {"id": 784532416, "item_id": 49033276, "url": "https://news.ycombinator.com/item?id=49033276", "by": "austin-cheney", "date": "2026-07-24", "stance": "neutral", "quote": "I have a dedicated server at the house where I run nearly a dozen services via docker compose.", "excerpt": "My hobby is self-hosting. * I have a dedicated server at the house where I run nearly a dozen services via docker compose. * I wrote my own audio app for playing my self hosted mp3s because everything I found on the App Store was shit. I wanted something like Winamp: a simple media player followed by a playlist of thousands of items that works equally on desktop and iPhone. https://github.com/prettydiff/mp3-master-li", "context": "self-hosting hobbyist", "use_case": "running self-hosted services", "switched_from": "", "story": "Ask HN: Share Your Eccentric Hobby"}, {"id": 782897041, "item_id": 48931065, "url": "https://news.ycombinator.com/item?id=48931065", "by": "jbarberu", "date": "2026-07-15", "stance": "neutral", "quote": "one week ago switched from a Debian to NixOS setup, using docker compose", "excerpt": "As someone who one week ago switched from a Debian to NixOS setup, using docker compose, I'd be very interested in hearing more if you have any resources or tips to share. I was hoping to move over to running rootless containers, but so far my HA setup has proven to be a pita to get working.", "context": "", "use_case": "running containers", "switched_from": "", "story": "Rebuilding My Homelab with Compose, Ruby, IPv6, and No Kubernetes"}, {"id": 782894450, "item_id": 48930903, "url": "https://news.ycombinator.com/item?id=48930903", "by": "SMFloris", "date": "2026-07-15", "stance": "warn", "quote": "Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind)", "excerpt": "IMO, kubernetes is overkill for a small non-homogeneous home cluster. What I use and really recommend is using systemd +/- docker. It just becomes so darn simple. Do not go the compose route (that route is filled with sadness of the incomplete stacks because db container failed silently kind) - instead aim to decompose the compose files and write a separate systemd service file for each of them, you can then assign l", "context": "", "use_case": "homelab stacks", "switched_from": "", "story": "Rebuilding My Homelab with Compose, Ruby, IPv6, and No Kubernetes"}, {"id": 779924960, "item_id": 48745310, "url": "https://news.ycombinator.com/item?id=48745310", "by": "AnEro", "date": "2026-07-01", "stance": "neutral", "quote": "run my docker compose", "excerpt": "It could be practical, internet speed will be a limitation for sure if it\u2019s hosting a website not just apis. It really depends, also consider vps from hentzer auctions for splitting some services or even a refurbished server from 2016 era they are under valued for sure. How I like to think this through on how much everything is worth is measuring my (personal/organization) capabilities, capacity and quality of life f", "context": "runs hybrid cloud/local servers at work", "use_case": "running compute on local servers", "switched_from": "", "story": "Is it practical to host a real production app on a Mac mini?"}, {"id": 771669585, "item_id": 48229349, "url": "https://news.ycombinator.com/item?id=48229349", "by": "tracker1", "date": "2026-05-21", "stance": "recommend", "quote": "for \"web apps\" I'll pretty much containerize all the things", "excerpt": "Personally, I've been running with Caddy in front of Docker (compose) for most of my personal/hobby usage. If it's a straight website, I'll let Caddy serve the contents directly... for \"web apps\" I'll pretty much containerize all the things and use caddy for TLS termination and reverse-proxy duties to the app running under Docker... Mostly ~/apps/appname, where each appname has a docker compose file, and the data dir", "context": "personal/hobby usage", "use_case": "running web apps", "switched_from": "", "story": "Blog ran on Ubuntu 16.04 for 10 years. I migrated it to FreeBSD"}, {"id": 768504272, "item_id": 48031517, "url": "https://news.ycombinator.com/item?id=48031517", "by": "nrclark", "date": "2026-05-05", "stance": "recommend", "quote": "It's been a super solid tool overall, and I'm pretty happy with it.", "excerpt": "We use a Docker Compose setup for our team's devcontainer. It's defined right in the repo alongside the Dockerfile used to build our image. Our build scripts are all set up to start/stop/use the container automatically. Integration with Vscode's devcontainer system will come next. It's been a great way for us to make sure that developers and CI/CD get exactly the same build environment, mount-points, paths, network a", "context": "team devcontainer setup", "use_case": "team devcontainer and CI build environment", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}, {"id": 768480128, "item_id": 48030008, "url": "https://news.ycombinator.com/item?id=48030008", "by": "delduca", "date": "2026-05-05", "stance": "recommend", "quote": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid.", "excerpt": "I used to use DOCKER_HOST=ssh\u2026 with compose for years, very solid. The only issue is the little downtime during deployments.", "context": "", "use_case": "deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}, {"id": 768421649, "item_id": 48026353, "url": "https://news.ycombinator.com/item?id=48026353", "by": "stryan", "date": "2026-05-05", "stance": "warn", "quote": "docker compose files are weird blobs of YAML that I have to hunt down the location of", "excerpt": "> Having your whole application with its containers, volumes, and networks all defined together in one easy-to-read YAML file is a way better experience. Deployment is two steps: 1. `git clone foo` 2. `docker compose up -d`. You can see the state of the application containers with `docker compose ps`. You can run multiple compose applications on the same host and manage them separately by putting them in different di", "context": "", "use_case": "", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}, {"id": 768415488, "item_id": 48025968, "url": "https://news.ycombinator.com/item?id=48025968", "by": "bouh", "date": "2026-05-05", "stance": "recommend", "quote": "I use docker compose a lot for small projects on a single box like Ovh vps.", "excerpt": "I use docker compose a lot for small projects on a single box like Ovh vps. With a reverse proxy on the host. Nice ans easy to setup and update. If you want to test something that is between compose and k8s, check ring: https://github.com/kemeter/ring", "context": "", "use_case": "small single-server deployments", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}, {"id": 768404145, "item_id": 48025259, "url": "https://news.ycombinator.com/item?id=48025259", "by": "daitangio", "date": "2026-05-05", "stance": "recommend", "quote": "I love it so much I have created a thin statless orchestrator layer upon it", "excerpt": "I love it so much I have created a thin statless orchestrator layer upon it: https://github.com/daitangio/misterio It works very well!", "context": "", "use_case": "container orchestration", "switched_from": "", "story": "Should I Run Plain Docker Compose in Production in 2026?"}, {"id": 763406592, "item_id": 47712912, "url": "https://news.ycombinator.com/item?id=47712912", "by": "aldarisbm", "date": "2026-04-09", "stance": "neutral", "quote": "I used a docker compose approach.", "excerpt": "I just set this up like a week ago: https://github.com/aldarisbm/local-k3s-cluster/tree/main/downloaderstack if you want to have an idea. I used a docker compose approach. Should be self healing", "context": "", "use_case": "self-healing downloader stack", "switched_from": "", "story": "Netflix Prices Went Up Again \u2013 I Bought a DVD Player Instead"}, {"id": 755939184, "item_id": 47246199, "url": "https://news.ycombinator.com/item?id=47246199", "by": "carlnewton", "date": "2026-03-04", "stance": "recommend", "quote": "installing docker compose on it", "excerpt": "I've just moved away from hosting on AWS to buying a refurbished Dell Optiplex 5060 and installing docker compose on it. Traffic comes in using a cloudflare tunnel. The only costs are electricity (it's very low power and virtually silent) and the domain (if you need one), and I'm thrilled with it.", "context": "moved from AWS to a refurbished Dell Optiplex", "use_case": "self-hosting on a home server", "switched_from": "AWS", "story": "Ask HN: What's your experience self-hosting in 2026?"}, {"id": 752628818, "item_id": 47039301, "url": "https://news.ycombinator.com/item?id=47039301", "by": "himata4113", "date": "2026-02-16", "stance": "warn", "quote": "I actually struggle with compose ('orchestration' alternative) significantly more since it usually has complicated workarounds to missing features.", "excerpt": "Kubernetes solves real problems for the 1% who need it. The other 99% are paying a massive complexity tax for capabilities they never use, while 87% of their provisioned CPU sits idle. is where the author is just wrong: - abstracts away ssh - makes it pretty unnecessary - rbac multi tenancy - better automations - orchestating more than one cluster - better infra as code - provisions are as good as you make them, if y", "context": "", "use_case": "container orchestration", "switched_from": "", "story": "Docker Swarm vs. Kubernetes in 2026"}, {"id": 748545125, "item_id": 46784070, "url": "https://news.ycombinator.com/item?id=46784070", "by": "robinbaertschi", "date": "2026-01-27", "stance": "neutral", "quote": "The entire stack is containerized with Docker Compose", "excerpt": "Hi HN, I\u2019m the creator of TypoGuard. I built this specialized engine to help protect brands against typosquatting and phishing domains before they are used in active attacks. The Core Logic: Unlike basic permutation tools, TypoGuard uses a multi-factor risk scoring system (High Risk >= 8 points). The scoring is based on: Domain Metadata: Real-time WHOIS age (domains \u2264 30 days are flagged), MX record presence, and SSL", "context": "", "use_case": "stack deployment", "switched_from": "", "story": "Show HN: TypoGuard \u2013 A typosquatting monitoring engine with automated reporting"}, {"id": 747718544, "item_id": 46732409, "url": "https://news.ycombinator.com/item?id=46732409", "by": "__MatrixMan__", "date": "2026-01-23", "stance": "neutral", "quote": "I used to be very enthusiastic about docker compose", "excerpt": "I used to be very enthusiastic about docker compose, but I've been playing around with nix + process-compose lately and its pretty great. I can have k3s and tilt in there only when it's necessary--which it's usually not.", "context": "", "use_case": "local dev environments", "switched_from": "", "story": "What Has Docker Become?"}, {"id": 745501873, "item_id": 46593867, "url": "https://news.ycombinator.com/item?id=46593867", "by": "gingerlime", "date": "2026-01-12", "stance": "neutral", "quote": "Usually a project will have a docker compose with web server, database etc.", "excerpt": "I do (most of) my development in docker containers. Usually a project will have a docker compose with web server, database etc. How can I use this so the yolobox container can interact with the other docker containers (or docker compose)?", "context": "", "use_case": "multi-container projects", "switched_from": "", "story": "Show HN: Yolobox \u2013 Run AI coding agents with full sudo without nuking home dir"}, {"id": 745239280, "item_id": 46577455, "url": "https://news.ycombinator.com/item?id=46577455", "by": "fozem", "date": "2026-01-11", "stance": "neutral", "quote": "Then you didn't need Kubernetes in first place.", "excerpt": "> We moved to Docker Compose Then you didn't need Kubernetes in first place. > The initial setup took two weeks of his time. Full-time. It takes 1 day max for such a simple setup. > Load balancers: $180/month (one per service because of how we\u2019d configured ingress) > t3.medium This can't be real", "context": "", "use_case": "", "switched_from": "Kubernetes", "story": "Kubernetes Was Overkill. We Moved to Docker Compose and Saved 60 Hours"}, {"id": 745134871, "item_id": 46570929, "url": "https://news.ycombinator.com/item?id=46570929", "by": "johnwatson11218", "date": "2026-01-10", "stance": "neutral", "quote": "I just spent time getting it all running on docker compose", "excerpt": "I did something similar whereby I used pdfplumber to extract text from my pdf book collection. I dumped it into postgresql, then chunked the text into 100 char chunks w/ a 10 char overlap. These chunks were directly embedded into a 384D space using python sentence_transformers. Then I simply averaged all chunks for a doc and wrote that single vector back to postgresql. Then I used UMAP + HDBScan to perform dimensiona", "context": "", "use_case": "running the stack", "switched_from": "", "story": "Show HN: I used Claude Code to discover connections between 100 books"}, {"id": 741538914, "item_id": 46346182, "url": "https://news.ycombinator.com/item?id=46346182", "by": "Imustaskforhelp", "date": "2025-12-21", "stance": "neutral", "quote": "just have a docker-compose.yaml and then just docker-compose it to start it", "excerpt": "Fascinating stuff. Personally what I ended up doing with my vps was to just have a docker-compose.yaml and then just docker-compose it to start it and then I have a custom script which would run a service at a port after which I can just \"bash expose.sh subdomain.domain.app PORT\" and it uses cloudflared/cloudflare tunnels under the loop and if someone wants a git like workflow, I recommend pushing docker images and t", "context": "", "use_case": "VPS service deployment", "switched_from": "", "story": "Show HN: Mushak \u2013 Zero config zero downtime Docker/Compose to server deployment"}, {"id": 741039937, "item_id": 46314996, "url": "https://news.ycombinator.com/item?id=46314996", "by": "sovietmudkipz", "date": "2025-12-18", "stance": "compare", "quote": "having a local stack easily spun up via docker compose is nice", "excerpt": "Hobbyist game dev here with random systemd thoughts. I\u2019ve recently started to lean on systemd more as my \u2018local game server process manager\u2019 process. At first I thought I\u2019d have to write this up myself as a whole slew of custom code, but then I realized the linux distros I use have systemd. That + cgroups and profiling my game server\u2019s performance lets me pack an OS with as many game servers dynamically (target 80% r", "context": "hobbyist game dev", "use_case": "local stack", "switched_from": "", "story": "Systemd v259"}, {"id": 740478481, "item_id": 46279905, "url": "https://news.ycombinator.com/item?id=46279905", "by": "zenapollo", "date": "2025-12-15", "stance": "recommend", "quote": "finally `ssh homelab \"cd /opt/<homelab>/stacks/<app> && docker compose up -d\"`, and I couldn't be happier to tinker to my heart's desire.", "excerpt": "I'm very pleased that it seems like there is a real movement happening in the self-hosted space. I've been self-hosting for about 6 months and actually started with umbrel because the UI looks so polished, which is comforting for people like me who didn't live in the CL. But there's a reason dev and eng tools always have the CL fallback, the GUI limits customization and hacking. And I hit those limits super fast on U", "context": "self-hosting for about 6 months", "use_case": "homelab app deployment", "switched_from": "Coolify", "story": "Umbrel \u2013 Personal Cloud"}, {"id": 738748178, "item_id": 46171761, "url": "https://news.ycombinator.com/item?id=46171761", "by": "teekert", "date": "2025-12-06", "stance": "neutral", "quote": "My Docker compose setup has moved from Arch to Ubuntu to NixOS now", "excerpt": "I also run NixOS (btw) but opted for the container. My Docker compose setup has moved from Arch to Ubuntu to NixOS now, so I like the flexibility of that setup. I also use Tailscale, and use cloudflare as nameserver and Caddy in front of Immich to get an nice url and https. For DNS redirects I use Adguard on the tailnet, but (mostly for family) I also set some redirects in my Mikrotik hEX (E50UG). This way Immich is ", "context": "", "use_case": "running containers", "switched_from": "", "story": "Self-hosting my photos with Immich"}, {"id": 733551969, "item_id": 45846998, "url": "https://news.ycombinator.com/item?id=45846998", "by": "johnwatson11218", "date": "2025-11-07", "stance": "neutral", "quote": "I have a pipeline in Docker compose", "excerpt": "I have a pipeline in Docker compose that starts up postgresql on one container and a python container. The python scripts will recursively read all the pdf files in a directory, use pdf plumber to parse the text to store in a postgres table. Then I use sentence_transformers to take 100 char, w/ 10 char overlap, chunks and embed each section as a 384D vector which is written back to the db. Then I average all the chun", "context": "", "use_case": "running pipeline containers", "switched_from": "", "story": "Ask HN: Who uses open LLMs and coding assistants locally? Share setup and laptop"}]}