16 Commits

Author SHA1 Message Date
github-actions[bot]
1ec95a01fe [upgrade] 0.50.0 2025-07-05 05:12:37 +00:00
github-actions[bot]
07865a5822 [upgrade] 0.49.0 2025-06-26 05:13:55 +00:00
github-actions[bot]
01c67f15b5 github-actions[bot]: update README.md 2025-06-23 13:37:07 +00:00
github-actions[bot]
e7836fd06e github-actions[bot]: update README.md 2025-06-23 13:33:09 +00:00
github-actions[bot]
ae5c66a0a7 github-actions[bot]: update README.md 2025-06-23 13:20:27 +00:00
github-actions[bot]
525d571a6f github-actions[bot]: update README.md 2025-06-23 12:37:50 +00:00
ElevenNotes
5f2627bc23 Merge branch 'master' of https://github.com/11notes/docker-netbird 2025-06-23 14:31:49 +02:00
ElevenNotes
a7aa89da46 [feature] allow compose.yml 2025-06-23 14:31:42 +02:00
github-actions[bot]
4e4cc73219 github-actions[bot]: update README.md 2025-06-23 12:27:46 +00:00
github-actions[bot]
2ebb22bcb4 github-actions[bot]: update README.md 2025-06-23 09:56:37 +00:00
ElevenNotes
8e03b00dd1 [fix] highlight optional images 2025-06-23 11:55:08 +02:00
ElevenNotes
309212d544 [feature] add introduction 2025-06-23 11:54:56 +02:00
ElevenNotes
ccefe55008 Merge branch 'master' of https://github.com/11notes/docker-netbird 2025-06-23 11:36:16 +02:00
ElevenNotes
23f824b416 [feature] add arm/v7 2025-06-23 11:36:07 +02:00
github-actions[bot]
3d52be2e24 [upgrade] 0.48.0 2025-06-23 09:31:02 +00:00
ElevenNotes
4a8b873241 [fix] reset auto update to 0.47.2 2025-06-23 11:26:46 +02:00
4 changed files with 62 additions and 46 deletions

View File

@@ -16,6 +16,7 @@ on:
required: false
default: 'ubuntu-22.04'
build:
description: 'set WORKFLOW_BUILD'
required: false
@@ -412,6 +413,9 @@ jobs:
if [ -f compose.yaml ]; then
git add compose.yaml
fi
if [ -f compose.yml ]; then
git add compose.yml
fi
if [ -f LICENSE ]; then
git add LICENSE
fi

6
.json
View File

@@ -2,11 +2,13 @@
"image": "11notes/netbird",
"name": "netbird",
"root": "/netbird",
"arch": "linux/amd64,linux/arm64,linux/arm/v7",
"semver": {
"version": "0.48.0"
"version": "0.50.0"
},
"readme": {
"description": "Run netbird rootless and distroless from a single image",
"description": "Run netbird rootless and distroless from a single image.",
"introduction": "NetBird combines a WireGuard-based overlay network with Zero Trust Network Access, providing a unified open source platform for reliable and secure connectivity. Create your own selfhosted ZTNA mesh network.",
"built": {
"netbirdio/netbird": "https://github.com/netbirdio/netbird"
},

View File

@@ -1,9 +1,13 @@
![banner](https://github.com/11notes/defaults/blob/main/static/img/banner.png?raw=true)
# NETBIRD
![size](https://img.shields.io/docker/image-size/11notes/netbird/0.47.2?color=0eb305)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)![version](https://img.shields.io/docker/v/11notes/netbird/0.47.2?color=eb7a09)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)![pulls](https://img.shields.io/docker/pulls/11notes/netbird?color=2b75d6)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)[<img src="https://img.shields.io/github/issues/11notes/docker-NETBIRD?color=7842f5">](https://github.com/11notes/docker-NETBIRD/issues)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)![swiss_made](https://img.shields.io/badge/Swiss_Made-FFFFFF?labelColor=FF0000&logo=data:image/svg%2bxml;base64,PHN2ZyB2ZXJzaW9uPSIxIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0idHJhbnNwYXJlbnQiLz4KICA8cGF0aCBkPSJtMTMgNmg2djdoN3Y2aC03djdoLTZ2LTdoLTd2LTZoN3oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+)
![size](https://img.shields.io/docker/image-size/11notes/netbird/0.48.0?color=0eb305)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)![version](https://img.shields.io/docker/v/11notes/netbird/0.48.0?color=eb7a09)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)![pulls](https://img.shields.io/docker/pulls/11notes/netbird?color=2b75d6)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)[<img src="https://img.shields.io/github/issues/11notes/docker-NETBIRD?color=7842f5">](https://github.com/11notes/docker-NETBIRD/issues)![5px](https://github.com/11notes/defaults/blob/main/static/img/transparent5x2px.png?raw=true)![swiss_made](https://img.shields.io/badge/Swiss_Made-FFFFFF?labelColor=FF0000&logo=data:image/svg%2bxml;base64,PHN2ZyB2ZXJzaW9uPSIxIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0idHJhbnNwYXJlbnQiLz4KICA8cGF0aCBkPSJtMTMgNmg2djdoN3Y2aC03djdoLTZ2LTdoLTd2LTZoN3oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+)
Run netbird rootless and distroless from a single image
Run netbird rootless and distroless from a single image.
# INTRODUCTION 📢
NetBird combines a WireGuard-based overlay network with Zero Trust Network Access, providing a unified open source platform for reliable and secure connectivity. Create your own selfhosted ZTNA mesh network.
# SYNOPSIS 📖
**What can I do with this?** This image will run netbird from a single image (not multiple) [rootless](https://github.com/11notes/RTFM/blob/main/linux/container/image/rootless.md) and [distroless](https://github.com/11notes/RTFM/blob/main/linux/container/image/distroless.md) for more security. Due to the nature of a single image and not multiple, you see in the [compose.yaml](https://github.com/11notes/docker-netbird/blob/master/compose.yaml) example that an ```entrypoint:``` has been defined for each service. This image also needs some environment variables present in your **.env** file. This image's defaults (management.json) as well as the example **.env** are to be used with Keycloak as your IdP and Traefik as your reverse proxy. You can however provide your own **management.json** file and use any IdP you like and use a different reverse proxy.
@@ -69,6 +73,7 @@ services:
- "db.etc:/postgres/etc"
- "db.var:/postgres/var"
- "db.backup:/postgres/backup"
# used for optional cron container to create automatic backups
- "db.cmd:/run/cmd"
tmpfs:
- "/run/postgresql:uid=1000,gid=1000"
@@ -77,22 +82,8 @@ services:
backend:
restart: "always"
cron:
depends_on:
db:
condition: "service_healthy"
restart: true
image: "11notes/cron:4.6"
environment:
TZ: "Europe/Zurich"
CRONTAB: |-
0 3 * * * cmd-socket '{"bin":"backup"}' > /proc/1/fd/1
volumes:
- "db.cmd:/run/cmd"
restart: "always"
dashboard:
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
read_only: true
environment:
NETBIRD_MGMT_API_ENDPOINT: "https://${NETBIRD_FQDN}"
@@ -126,7 +117,7 @@ services:
db:
condition: "service_healthy"
restart: true
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
read_only: true
env_file: '.env'
environment:
@@ -154,7 +145,7 @@ services:
restart: "always"
signal:
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
environment:
TZ: "Europe/Zurich"
entrypoint: ["/usr/local/bin/signal"]
@@ -172,7 +163,7 @@ services:
restart: "always"
relay:
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
environment:
TZ: "Europe/Zurich"
NB_LISTEN_ADDRESS: ":33080"
@@ -185,6 +176,22 @@ services:
- "33080:33080/tcp"
restart: "always"
# optional images
cron:
depends_on:
db:
condition: "service_healthy"
restart: true
image: "11notes/cron:4.6"
environment:
TZ: "Europe/Zurich"
# create daily full backup at 3 o'clock
CRONTAB: |-
0 3 * * * cmd-socket '{"bin":"backup"}' > /proc/1/fd/1
volumes:
- "db.cmd:/run/cmd"
restart: "always"
volumes:
management.etc:
management.var:
@@ -218,18 +225,18 @@ networks:
# MAIN TAGS 🏷️
These are the main tags for the image. There is also a tag for each commit and its shorthand sha256 value.
* [0.47.2](https://hub.docker.com/r/11notes/netbird/tags?name=0.47.2)
* [0.48.0](https://hub.docker.com/r/11notes/netbird/tags?name=0.48.0)
### There is no latest tag, what am I supposed to do about updates?
It is of my opinion that the ```:latest``` tag is super dangerous. Many times, Ive introduced **breaking** changes to my images. This would have messed up everything for some people. If you dont want to change the tag to the latest [semver](https://semver.org/), simply use the short versions of [semver](https://semver.org/). Instead of using ```:0.47.2``` you can use ```:0``` or ```:0.47```. Since on each new version these tags are updated to the latest version of the software, using them is identical to using ```:latest``` but at least fixed to a major or minor version.
It is of my opinion that the ```:latest``` tag is dangerous. Many times, Ive introduced **breaking** changes to my images. This would have messed up everything for some people. If you dont want to change the tag to the latest [semver](https://semver.org/), simply use the short versions of [semver](https://semver.org/). Instead of using ```:0.48.0``` you can use ```:0``` or ```:0.48```. Since on each new version these tags are updated to the latest version of the software, using them is identical to using ```:latest``` but at least fixed to a major or minor version.
If you still insist on having the bleeding edge release of this app, simply use the ```:rolling``` tag, but be warned! You will get the latest version of the app instantly, regardless of breaking changes or security issues or what so ever. You do this at your own risk!
# REGISTRIES ☁️
```
docker pull 11notes/netbird:0.47.2
docker pull ghcr.io/11notes/netbird:0.47.2
docker pull quay.io/11notes/netbird:0.47.2
docker pull 11notes/netbird:0.48.0
docker pull ghcr.io/11notes/netbird:0.48.0
docker pull quay.io/11notes/netbird:0.48.0
```
# SOURCE 💾
@@ -257,4 +264,4 @@ docker pull quay.io/11notes/netbird:0.47.2
# ElevenNotes™
This image is provided to you at your own risk. Always make backups before updating an image to a different version. Check the [releases](https://github.com/11notes/docker-netbird/releases) for breaking changes. If you have any problems with using this image simply raise an [issue](https://github.com/11notes/docker-netbird/issues), thanks. If you have a question or inputs please create a new [discussion](https://github.com/11notes/docker-netbird/discussions) instead of an issue. You can find all my other repositories on [github](https://github.com/11notes?tab=repositories).
*created 19.06.2025, 07:33:43 (CET)*
*created 23.06.2025, 15:37:06 (CET)*

View File

@@ -10,6 +10,7 @@ services:
- "db.etc:/postgres/etc"
- "db.var:/postgres/var"
- "db.backup:/postgres/backup"
# used for optional cron container to create automatic backups
- "db.cmd:/run/cmd"
tmpfs:
- "/run/postgresql:uid=1000,gid=1000"
@@ -18,22 +19,8 @@ services:
backend:
restart: "always"
cron:
depends_on:
db:
condition: "service_healthy"
restart: true
image: "11notes/cron:4.6"
environment:
TZ: "Europe/Zurich"
CRONTAB: |-
0 3 * * * cmd-socket '{"bin":"backup"}' > /proc/1/fd/1
volumes:
- "db.cmd:/run/cmd"
restart: "always"
dashboard:
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
read_only: true
environment:
NETBIRD_MGMT_API_ENDPOINT: "https://${NETBIRD_FQDN}"
@@ -67,7 +54,7 @@ services:
db:
condition: "service_healthy"
restart: true
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
read_only: true
env_file: '.env'
environment:
@@ -95,7 +82,7 @@ services:
restart: "always"
signal:
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
environment:
TZ: "Europe/Zurich"
entrypoint: ["/usr/local/bin/signal"]
@@ -113,7 +100,7 @@ services:
restart: "always"
relay:
image: "11notes/netbird:0.46.0"
image: "11notes/netbird:0.48.0"
environment:
TZ: "Europe/Zurich"
NB_LISTEN_ADDRESS: ":33080"
@@ -126,6 +113,22 @@ services:
- "33080:33080/tcp"
restart: "always"
# optional images
cron:
depends_on:
db:
condition: "service_healthy"
restart: true
image: "11notes/cron:4.6"
environment:
TZ: "Europe/Zurich"
# create daily full backup at 3 o'clock
CRONTAB: |-
0 3 * * * cmd-socket '{"bin":"backup"}' > /proc/1/fd/1
volumes:
- "db.cmd:/run/cmd"
restart: "always"
volumes:
management.etc:
management.var: