Skip to content

Conversation

kvdb-surf
Copy link
Contributor

Found out I had some in use ports, this might be helpful to others starting out as well.

Extracted the needed ports from docker-compose.yml using:

yq -r '.services[]?.ports[]? // empty' docker-compose.yml | \
  grep ':' | \
  sed -E 's/^"?([0-9]+):[0-9]+.*"?$/\1/' | \
  sort -n | uniq

Found out I had some in use ports, this might be helpful to
others starting out as well.

Extracted the needed ports from docker-compose.yml using:

```
yq -r '.services[]?.ports[]? // empty' docker-compose.yml | \
  grep ':' | \
  sed -E 's/^"?([0-9]+):[0-9]+.*"?$/\1/' | \
  sort -n | uniq
```
Comment on lines 94 to 99
The environment requires several ports to be free.
Use `ss` to check if any are in use—no output means they're available:

```
ss -tulnp|grep -E ':80|:3000|:4000|:5432|:5678|:8000|:8001|:8080'
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is ss? It doesn't seem to be a default tool on macos, ubuntu or alpine.

It is a good idea to inform people to check that the ports are free, but the actual numbers written out here are bound to go stale over time. What do you think about rephrasing this to something along the lines off "Make sure you aren't running any software on the ports required by docker-compose.yml" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ss is one of the tools in https://en.wikipedia.org/wiki/Iproute2. I reasoned that's a pretty standard tool. I couldn't find something similar that's available on both macos and ubuntu. Anything older you'd prefer, like netstat or lsof maybe?

I thought about including the script mentioned in the commit message, but for an onboarding tutorial, a bit too verbose, although then always current.
I'll apply your rephrase if we can settle on a tool.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, didn't know netstat was considered legacy :) I typically use netstat on OSX, but fine to keep ss in this text, maybe with a link to that iproute2 page

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Mark90 @kvdb-surf What should we do with this PR?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps my 2 suggestions make it work for all

Copy link

codspeed-hq bot commented Sep 24, 2025

CodSpeed Performance Report

Merging #983 will not alter performance

Comparing kvdb-surf:free-port-docs (94822af) with main (4fb585c)

Summary

✅ 13 untouched

@Mark90 Mark90 merged commit 1268afc into workfloworchestrator:main Sep 24, 2025
16 checks passed
tvdven pushed a commit that referenced this pull request Sep 26, 2025
* Verify all ports are free

Found out I had some in use ports, this might be helpful to
others starting out as well.

Extracted the needed ports from docker-compose.yml using:

```
yq -r '.services[]?.ports[]? // empty' docker-compose.yml | \
  grep ':' | \
  sed -E 's/^"?([0-9]+):[0-9]+.*"?$/\1/' | \
  sort -n | uniq
```

* Apply suggestions from code review

Co-authored-by: kvdb <[email protected]>

---------

Co-authored-by: Mark Moes <[email protected]>
Co-authored-by: kvdb <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants