It's like someone should make a file... maybe in /etc ... and put short names for services in it... maybe it could be called /etc/services...
tolciho 1 hours ago [-]
And then they might code up some sort of service lookup tool thingy to use on the train wreck that is the modern web.
$ getent services gopher
gopher 70/tcp
otabdeveloper4 16 minutes ago [-]
Heck, maybe even `resolvectl service`?
TomK32 32 minutes ago [-]
Sure, but they are running web-apps they've vibe-coded (hence the .vibe tld) and for that use-case of many web apps that I run in docker containers I use nginx-proxy [0]. All the container needs is a VIRTUAL_HOST environment variable with the domain and what my router needs is an address entry for the wildcard subdomains. I even have nginx-proxy on a internet-accessible staging server.
This is a valid concern, certainly. I use kube for most things so it's not a problem, but my homeserver and its apps run on quadlets that I manage. In my case, I just added a README.md in the server account folder that each project's CLAUDE.md or whatever is configured to read. Then it selects a port and sticks that in the document and to be honest I have a few tens of services and it works. Haha, a direct replacement of machine for my own process.
pyreal 60 minutes ago [-]
I created something similar to help me spin up complex apps in multiple worktrees with full port orchestration: https://outport.dev/
CGamesPlay 33 minutes ago [-]
I've built this twice before. The main problem that I hit is that the AI agents suck at the process lifecycle management: leaving processes alive, starting the same daemon multiple times, etc.
From a brief glance over the code I like the approaches I see. Using the `/etc/resolver/` mechanism is a new trick to me!
The interesting part to me isn't the port numbers, it's the automatic service start/stop, including idle route shutdown.
i have something like this too, currently a 60 line nodejs file
system2 16 minutes ago [-]
It is funny, I just built something like this last week and named it "Network". Additionally it scans for any type of data packages arriving at the SonicWall and sees if they are approved by me or not. I am paranoid after using TP Link at home like a dumbass.
elchief 29 minutes ago [-]
I'm slightly annoyed that vite's default port isn't 8483
chrisweekly 29 minutes ago [-]
why?
kseistrup 17 minutes ago [-]
VITE typed on a T9 keyboard is 8483.
hahahacorn 50 minutes ago [-]
Bind to Port 0
yunruse 2 days ago [-]
This project is essentially "give me some metadata & a command which takes env $PORT, and I'll handle the rest". Which is neat!
I am also sick of handling port numbers - I end up allocating them on a schema to different services, so for testing I can spool any VM/service combination and avoid crossover. But if I want the same service twice, ah...
It always fascinated me that ports don't have any kind of textual resolver, so you can bind to `:1234` and also say "please also accept `:foobar`".
But that would itself require some kind of "port resolver" on a device, and that's another service to break and fix :)
winstonwinston 2 days ago [-]
There is /etc/services to map port numbers to service names, and using getportbyname() to resolve port numbers.
axus 1 hours ago [-]
DNS for /etc/hosts and now vibe.local for /etc/services. What will they think of next!
miyuru 31 minutes ago [-]
SVCB DNS records
dfordp11 12 minutes ago [-]
[dead]
Rendered at 04:56:01 GMT+0000 (Coordinated Universal Time) with Vercel.
[0] https://github.com/nginx-proxy/nginx-proxy
From a brief glance over the code I like the approaches I see. Using the `/etc/resolver/` mechanism is a new trick to me!
The interesting part to me isn't the port numbers, it's the automatic service start/stop, including idle route shutdown.
https://news.ycombinator.com/item?id=47452515
I am also sick of handling port numbers - I end up allocating them on a schema to different services, so for testing I can spool any VM/service combination and avoid crossover. But if I want the same service twice, ah...
It always fascinated me that ports don't have any kind of textual resolver, so you can bind to `:1234` and also say "please also accept `:foobar`". But that would itself require some kind of "port resolver" on a device, and that's another service to break and fix :)