Trying to set Headscale up in a Debian VPS.
When I do
$ sudo headscale serve
I get the following error
failed to bind to TCP address: listen TCP 127.0.0.1:8080: bind: address already in use
Bit of a noob with crowdsec but I think its doing something that obstructs Headscale. If I stop crowdsec and do ‘headscale serve’ it seems to run without an issue.
I’m setting it up so that headscale listens on my domain using Caddy. This is the caddyfile:
sub.domain.com {
reverse_proxy localhost:8080
tls my.email@domain.com
}
Any ideas?
Is it perhaps because the address is already in use?
I don’t run Headscale but it appears that there is a conflict.
Who is using port 8080:
sudo lsof -i :8080Have you tried either changing Crowdsec’s port or Headscale’s port?
Change Headscale port:
/etc/headscale/config.yamlheadscale: listen_addr: 127.0.0.1:8081sudo headscale serveThanks! Yep both using 8080. Didn’t occur to me to check that. Doh!
Just change the port Headscale is running on.
You also don’t want a reverse proxy out in front of Headscale. It doesn’t serve a purpose, and does nothing but introduce added complexity and performance degradation.
Just make an A record in your DNS that points to ‘vpn.whatever.com’ if you just want to treat it as a named host.
8080 is a common default port number so make sure to always check those when deploying something new
generally, use “netstat -lpn | grep 8080” (or whatever port number) to find out what process is already listening on that port. This kind of thing happens all the time.
netstat -lpn | grep 8080That’s a bit cleaner than
sudo lsof -i :8080. It always amazes me tho, how many different commands/ways there are in Linux to get to the same spot.lol indeed
FWIW, netstat is considered legacy and deprecated. The in-vogue way to do the same thing is
ss -lpn | grep 8080.netstat like ifconfig still works and is shipped in the
net-toolspackage if you like it but if you’re learning it’s better to build a habit withssandipright away.https://arturogl.com/2023/10/18/linux-new-tools-replacing-netstat/




