Skip to content
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
e6e12b4
Add automatic WebSocket fallback for HTTP/1.1-only environments
shyam0904a Dec 13, 2025
1ed8154
Add comment to empty EnableWebSocketFallback function for SonarQube
shyam0904a Dec 13, 2025
4fffdbb
Address CodeRabbit review comments
shyam0904a Dec 13, 2025
33974ff
Address additional CodeRabbit nitpicks
shyam0904a Dec 13, 2025
44e9619
Merge branch 'netbirdio:main' into main
shyam0904a Dec 16, 2025
22904ae
Merge branch 'netbirdio:main' into main
shyam0904a Dec 19, 2025
b0525d8
Merge branch 'netbirdio:main' into main
shyam0904a Dec 23, 2025
0a1a20a
Embedded STUN initial commit
braginini Jan 8, 2026
7e359e1
Add logs
braginini Jan 8, 2026
d346bb4
Update stun log
braginini Jan 8, 2026
861b15e
Update stun log
braginini Jan 8, 2026
827a54b
Update stun log
braginini Jan 8, 2026
cc39e5b
Add STUN benchmark test
braginini Jan 8, 2026
adb1f9b
Reduce STUN benchmark test time
braginini Jan 8, 2026
fac75e4
Fix review issues
braginini Jan 8, 2026
8ff4afd
Fix lint issues
braginini Jan 8, 2026
08e3620
Inject stun listener to relay
braginini Jan 9, 2026
7df8461
Fix go.sum
braginini Jan 9, 2026
f1b88f1
Fix log
braginini Jan 9, 2026
2e85d60
Apply custom log level
braginini Jan 9, 2026
1a20756
Apply custom stun log formatter
braginini Jan 9, 2026
6d202e4
Support multiple STUN ports
braginini Jan 9, 2026
1a68dca
Identify which STUN listener received a msg
braginini Jan 9, 2026
c1c627e
Handle cancellation of the context in stun server
braginini Jan 11, 2026
1941ff9
Embedded STUN handling improvements
braginini Jan 12, 2026
40e65d9
Coderabbit review notes
braginini Jan 12, 2026
2d18ec3
The config now validates:
braginini Jan 12, 2026
6cc4432
Simplify execute()
braginini Jan 12, 2026
c9c6340
Extract start servers
braginini Jan 12, 2026
111b418
Remove error shadowing
braginini Jan 12, 2026
75efdf6
Remove empty conn list check
braginini Jan 12, 2026
be7c945
Remove comment contradiction
braginini Jan 12, 2026
7aec863
Fix tests
braginini Jan 12, 2026
b611598
Fix tests
braginini Jan 12, 2026
3910c14
Implement combined server supporting Management, Signal, Relay, and S…
pappz Jan 13, 2026
2c4e62f
Merge remote-tracking branch 'origin/main' into combined
braginini Feb 2, 2026
b9b0c1b
Add initial working design of a homelab package
braginini Feb 3, 2026
a7da4ad
Simplified config
braginini Feb 5, 2026
dd31f4f
add "lego" config
braginini Feb 5, 2026
f0dc88e
Update getting started
braginini Feb 5, 2026
a615935
Update getting started
braginini Feb 5, 2026
323d33a
Add docker file for homelab
braginini Feb 5, 2026
e398aa5
Fix NETBIRD_SERVER_IMAG
braginini Feb 5, 2026
19702cb
Fix getting started
braginini Feb 5, 2026
afc9ee7
Remove metrics
braginini Feb 5, 2026
ed433d0
Fix signal metrics
braginini Feb 5, 2026
dcc838c
Fix getting started
braginini Feb 5, 2026
f48f2b6
Fix getting started
braginini Feb 5, 2026
4c9325c
Fix exposed port protocol
braginini Feb 5, 2026
0ab03db
Add config log
braginini Feb 5, 2026
a64d912
Add more logs
braginini Feb 5, 2026
0abcc36
Fix relay address sent to clients
braginini Feb 6, 2026
64378d9
Remove unnecessary log messages
braginini Feb 6, 2026
e4224c7
Split components in the log
braginini Feb 6, 2026
1831f30
Configure components log level
braginini Feb 7, 2026
a04cbaa
Add relay conn logging
braginini Feb 7, 2026
39eb5b3
Fix config structure
braginini Feb 7, 2026
5ace0f9
remove client relay transport check
braginini Feb 7, 2026
9917a4d
Add multiple stun ports
braginini Feb 8, 2026
be2da83
Add default stun port
braginini Feb 8, 2026
c707d8d
Now they correctly inherit from server.logLevel via ApplySimplifiedD…
braginini Feb 8, 2026
426bbb0
extract components in logs
braginini Feb 8, 2026
d3221d7
Remove log changes
braginini Feb 8, 2026
be2a2f9
Fix lint
braginini Feb 8, 2026
df6e8d4
Fix sonar
braginini Feb 8, 2026
0ab8465
Rename homelab to combined
braginini Feb 8, 2026
ea3ac51
Remove client dialer changes
braginini Feb 9, 2026
ddb5400
Remove client dialer changes
braginini Feb 9, 2026
889ffc1
Fix getting-started
braginini Feb 9, 2026
39d0c53
Fix encryption key output
braginini Feb 9, 2026
f54dd6e
Rejecting invalid CredentialsTTL values
braginini Feb 9, 2026
2454a84
netbird to netbird-server
braginini Feb 9, 2026
538009f
Fix getting-started wrong container name
braginini Feb 10, 2026
4d9337b
Fix signal to use env variables on boot
braginini Feb 11, 2026
cc8eb6f
Print env variables on start
braginini Feb 11, 2026
ca8e2a2
Use NB_ in store instead of NETBIRD_. Add config of the store dsn
braginini Feb 11, 2026
8701490
Output DSN in teh config print
braginini Feb 11, 2026
e42049e
Fix metrics to include prefix
braginini Feb 11, 2026
0ae0d37
Update getting started Caddy files
braginini Feb 11, 2026
51a8626
Update release files to include new docker image
braginini Feb 11, 2026
9b5ca46
Fix reverse proxy configs
braginini Feb 11, 2026
e8a457c
Fix getting started
braginini Feb 12, 2026
2efc613
Fix traefik read timeout
braginini Feb 12, 2026
3c81837
Simplify configs
braginini Feb 12, 2026
cb78435
Remove unnecessary auth enabled
braginini Feb 12, 2026
d33cb52
Remote dex storage from the config
braginini Feb 12, 2026
77abc90
Remove built-in Caddy option
braginini Feb 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions combined/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM ubuntu:24.04
RUN apt update && apt install -y ca-certificates && rm -fr /var/cache/apt
ENTRYPOINT [ "/go/bin/netbird-server" ]
CMD ["--config", "/etc/netbird/config.yaml"]
COPY netbird-server /go/bin/netbird-server
Comment on lines +1 to +5

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Container runs as root; add a non-root user and reorder layers.

Several improvements for this Dockerfile:

  1. Security: The container runs as root (flagged by Trivy DS002). Add a dedicated user.
  2. Layer ordering: COPY should precede ENTRYPOINT/CMD for readability and better cache invalidation ordering.
  3. APT cleanup: Also remove /var/lib/apt/lists/* to minimize image size.
Proposed fix
 FROM ubuntu:24.04
-RUN apt update && apt install -y ca-certificates && rm -fr /var/cache/apt
-ENTRYPOINT [ "/go/bin/netbird-server" ]
-CMD ["--config", "/etc/netbird/config.yaml"]
-COPY netbird-server /go/bin/netbird-server
+RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \
+    && rm -rf /var/cache/apt /var/lib/apt/lists/*
+RUN useradd -r -s /usr/sbin/nologin netbird
+COPY netbird-server /go/bin/netbird-server
+USER netbird
+ENTRYPOINT [ "/go/bin/netbird-server" ]
+CMD ["--config", "/etc/netbird/config.yaml"]
🧰 Tools
🪛 Trivy (0.58.1)

[error] 1-1: Image user should not be 'root'

Specify at least 1 USER command in Dockerfile with non-root user as argument

Rule: DS002

Learn more

(IaC/Dockerfile)

🤖 Prompt for AI Agents
In `@combined/Dockerfile` around lines 1 - 5, Reorder the Dockerfile to COPY the
built binary before setting ENTRYPOINT/CMD and add a non-root user: update the
layer order so the COPY netbird-server /go/bin/netbird-server happens before
ENTRYPOINT and CMD, install packages with apt update && apt install -y
ca-certificates && rm -rf /var/cache/apt /var/lib/apt/lists/* to clean apt
artifacts, create a dedicated user (e.g., netbird) and group, chown the
installed binary to that user and switch to USER netbird (or use USER with a
non-root UID) so the container does not run as root, and keep ENTRYPOINT
["/go/bin/netbird-server"] and CMD ["--config", "/etc/netbird/config.yaml"] at
the end.

Loading
Loading