[GH-ISSUE #1325] Build packages for synology #2203

Open
opened 2026-08-05 00:45:53 -04:00 by saavagebueno · 19 comments
Owner

Originally created by @artemklevtsov on GitHub (Nov 21, 2023).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/1325

Is your feature request related to a problem? Please describe.
I can't install netbird on my synology nas.

Describe the solution you'd like
build packages for synology dsm7 for the arm64 and amd64.

Describe alternatives you've considered
Use netbird in docker container.

Additional context
no context needed.

Originally created by @artemklevtsov on GitHub (Nov 21, 2023). Original GitHub issue: https://github.com/netbirdio/netbird/issues/1325 Is your feature request related to a problem? Please describe. I can't install netbird on my synology nas. Describe the solution you'd like build packages for synology dsm7 for the arm64 and amd64. Describe alternatives you've considered Use netbird in docker container. Additional context no context needed.
saavagebueno added the feature-requestclientpackagingdistribution labels 2026-08-05 00:45:53 -04:00
Author
Owner

@artemklevtsov commented on GitHub (Nov 21, 2023):

@tbc0309 already do it here but without share build scripts.

<!-- gh-comment-id:1821187857 --> @artemklevtsov commented on GitHub (Nov 21, 2023): @tbc0309 already do it [here](https://github.com/tbc0309/synology-netbird) but without share build scripts.
Author
Owner

@mlsmaycon commented on GitHub (Nov 28, 2023):

@artemklevtsov is there something more generic that you can share with the community?

<!-- gh-comment-id:1829415060 --> @mlsmaycon commented on GitHub (Nov 28, 2023): @artemklevtsov is there something more generic that you can share with the community?
Author
Owner

@artemklevtsov commented on GitHub (Dec 23, 2023):

I would just like to get the official support of the synology nas.

<!-- gh-comment-id:1868340798 --> @artemklevtsov commented on GitHub (Dec 23, 2023): I would just like to get the official support of the synology nas.
Author
Owner

@mlsmaycon commented on GitHub (Dec 28, 2023):

Thanks guys, we will have a look at it for the next quarter.

<!-- gh-comment-id:1871045278 --> @mlsmaycon commented on GitHub (Dec 28, 2023): Thanks guys, we will have a look at it for the next quarter.
Author
Owner

@823Labs commented on GitHub (Jan 9, 2024):

Looking forward to it. If possible please include a package compatible with the ARMv7 architecture.

<!-- gh-comment-id:1882656733 --> @823Labs commented on GitHub (Jan 9, 2024): Looking forward to it. If possible please include a package compatible with the ARMv7 architecture.
Author
Owner

@zzecool commented on GitHub (Jan 26, 2024):

A Synology package is not a Solution. We have seen this with numerous other projects, the maintenance is slow so you will be versions behind and eventually getting dropped. Not only that but the proprietary Synology application saves the data in hidden folders in the filesystem, making access edit and backup a nightmare.

The Best solution for Synology would be the adaptation of the script so it only creates you the docker compose file + evn file that you then can easily load it to Portainer and start your stack like a BOSS.

This way you can also decide not to use docker Volumes but mount persistent data to your Synology, making accessing of the data, edit and backup a simple task instead.

There is no other way really......

<!-- gh-comment-id:1912354670 --> @zzecool commented on GitHub (Jan 26, 2024): A Synology package is not a Solution. We have seen this with numerous other projects, the maintenance is slow so you will be versions behind and eventually getting dropped. Not only that but the proprietary Synology application saves the data in hidden folders in the filesystem, making access edit and backup a nightmare. The Best solution for Synology would be the adaptation of the script so it only creates you the docker compose file + evn file that you then can easily load it to Portainer and start your stack like a BOSS. This way you can also decide not to use docker Volumes but mount persistent data to your Synology, making accessing of the data, edit and backup a simple task instead. There is no other way really......
Author
Owner

@823Labs commented on GitHub (Jan 27, 2024):

Synologies running on an ARMv7 do not support docker.

<!-- gh-comment-id:1913353958 --> @823Labs commented on GitHub (Jan 27, 2024): Synologies running on an ARMv7 do not support docker.
Author
Owner

@zzecool commented on GitHub (Jan 28, 2024):

Synologies running on an ARMv7 do not support docker.

That is so unfortunate. Maybe i need to make a new issue for the docker install support then.

<!-- gh-comment-id:1913542266 --> @zzecool commented on GitHub (Jan 28, 2024): > Synologies running on an ARMv7 do not support docker. That is so unfortunate. Maybe i need to make a new issue for the docker install support then.
Author
Owner

@tbc0309 commented on GitHub (Jan 28, 2024):

The official Netbird build does not provide ARMv7 binary file, which means I cannot easily create a package for Synology ARMv7 NAS.

<!-- gh-comment-id:1913553644 --> @tbc0309 commented on GitHub (Jan 28, 2024): The official Netbird build does not provide ARMv7 binary file, which means I cannot easily create a package for Synology ARMv7 NAS.
Author
Owner

@elpiel commented on GitHub (Apr 1, 2024):

Can docker be used to setup netbird then?

<!-- gh-comment-id:2029577984 --> @elpiel commented on GitHub (Apr 1, 2024): Can docker be used to setup netbird then?
Author
Owner

@elpiel commented on GitHub (Apr 2, 2024):

I managed to run the docker container without any luck of accessing it through the netbird network.
It still shows as not connected.
First I had an issue with /dev/net/tun not being found inside docker and now when I added --device it gives me a timeout:

sudo docker run --rm --name synology-dsXXX --hostname synology-dsXXX --device /dev/net/tun --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=SYS_RESOURCE -d -e NB_SETUP_KEY=XXXXX -v netbird-client:/etc/netbird netbirdio/netbird:latest

and the logs from the container:

2024-04-02T13:59:52Z INFO client/internal/connect.go:96: starting NetBird client version 0.26.7
2024-04-02T13:59:52Z WARN client/internal/wgproxy/factory_linux.go:15: failed to initialize ebpf proxy, fallback to user space proxy: field NbXdpProg: program nb_xdp_prog: map .rodata: map create: read- and write-only maps not supported (requires >= v5.2)
2024-04-02T13:59:52Z INFO iface/tun_usp_linux.go:33: using userspace bind mode
2024-04-02T13:59:52Z INFO client/internal/routemanager/manager.go:76: Routing setup complete
2024-04-02T13:59:52Z INFO iface/tun_usp_linux.go:45: create tun interface
2024-04-02T13:59:52Z INFO client/internal/dns/host_linux.go:68: System DNS manager discovered: file
2024-04-02T14:00:18Z WARN signal/client/grpc.go:152: disconnected from the Signal Exchange due to an error: rpc error: code = Unavailable desc = connection error: desc = "error reading from server: read tcp 172.17.0.2:53890->35.186.199.111:443: read: connection timed out"
<!-- gh-comment-id:2032138956 --> @elpiel commented on GitHub (Apr 2, 2024): I managed to run the docker container without any luck of accessing it through the netbird network. It still shows as not connected. First I had an issue with `/dev/net/tun` not being found inside docker and now when I added `--device` it gives me a timeout: ``` sudo docker run --rm --name synology-dsXXX --hostname synology-dsXXX --device /dev/net/tun --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=SYS_RESOURCE -d -e NB_SETUP_KEY=XXXXX -v netbird-client:/etc/netbird netbirdio/netbird:latest ``` and the logs from the container: ``` 2024-04-02T13:59:52Z INFO client/internal/connect.go:96: starting NetBird client version 0.26.7 2024-04-02T13:59:52Z WARN client/internal/wgproxy/factory_linux.go:15: failed to initialize ebpf proxy, fallback to user space proxy: field NbXdpProg: program nb_xdp_prog: map .rodata: map create: read- and write-only maps not supported (requires >= v5.2) 2024-04-02T13:59:52Z INFO iface/tun_usp_linux.go:33: using userspace bind mode 2024-04-02T13:59:52Z INFO client/internal/routemanager/manager.go:76: Routing setup complete 2024-04-02T13:59:52Z INFO iface/tun_usp_linux.go:45: create tun interface 2024-04-02T13:59:52Z INFO client/internal/dns/host_linux.go:68: System DNS manager discovered: file 2024-04-02T14:00:18Z WARN signal/client/grpc.go:152: disconnected from the Signal Exchange due to an error: rpc error: code = Unavailable desc = connection error: desc = "error reading from server: read tcp 172.17.0.2:53890->35.186.199.111:443: read: connection timed out" ```
Author
Owner

@pcfriek1987 commented on GitHub (May 9, 2024):

Hmm one of the reasons I use tailscale now, is because they have a package for synology.

I have a synology placed with family and by tailscale I can connect wherever I am even if their IP changes.

<!-- gh-comment-id:2103242965 --> @pcfriek1987 commented on GitHub (May 9, 2024): Hmm one of the reasons I use tailscale now, is because they have a package for synology. I have a synology placed with family and by tailscale I can connect wherever I am even if their IP changes.
Author
Owner

@zzecool commented on GitHub (May 14, 2024):

Check here guys :

https://github.com/netbirdio/netbird/issues/1977

<!-- gh-comment-id:2110299103 --> @zzecool commented on GitHub (May 14, 2024): Check here guys : https://github.com/netbirdio/netbird/issues/1977
Author
Owner

@nazarewk commented on GitHub (Apr 23, 2025):

is it still relevant or was fully resolved by https://github.com/netbirdio/netbird/pull/1984 ?

<!-- gh-comment-id:2824479679 --> @nazarewk commented on GitHub (Apr 23, 2025): is it still relevant or was fully resolved by https://github.com/netbirdio/netbird/pull/1984 ?
Author
Owner

@elpiel commented on GitHub (Apr 23, 2025):

@nazarewk I believe this issue for having a package in the Synology Package Center:

https://www.synology.com/en-us/dsm/packages
https://www.synology.com/en-us/support/developer
https://help.synology.com/developer-guide/getting_started/first_package.html

The installer having support for the Synology OS is great start though!

PS: otherwise you need to do trickery with SSH and a docker container just to get to the terminal where you can install netbird

<!-- gh-comment-id:2824950789 --> @elpiel commented on GitHub (Apr 23, 2025): @nazarewk I believe this issue for having a package in the Synology Package Center: https://www.synology.com/en-us/dsm/packages https://www.synology.com/en-us/support/developer https://help.synology.com/developer-guide/getting_started/first_package.html The installer having support for the Synology OS is great start though! PS: otherwise you need to do trickery with SSH and a docker container just to get to the terminal where you can install netbird
Author
Owner

@tobias-carlbom commented on GitHub (Jun 22, 2025):

Any updates on this?

Having netbird client running in Synology can be done with docker - at least this project manage to solve it: https://github.com/fosrl/newt which is part of the Pangolin project.

The mentioned project is also able to route traffic to LAN, all running within a docker container in Synology. No hacky ssh commands what so ever. Btw I have a DS918 which is kind of a dinosaur right now.

I would never for my life run curl -fsSL https://pkgs.netbird.io/install.sh | sh on a Synology nas...

<!-- gh-comment-id:2994124129 --> @tobias-carlbom commented on GitHub (Jun 22, 2025): Any updates on this? Having netbird client running in Synology can be done with docker - at least this project manage to solve it: https://github.com/fosrl/newt which is part of the Pangolin project. The mentioned project is also able to route traffic to LAN, all running within a docker container in Synology. No hacky ssh commands what so ever. Btw I have a DS918 which is kind of a dinosaur right now. I would never for my life run `curl -fsSL https://pkgs.netbird.io/install.sh | sh` on a Synology nas...
Author
Owner

@SasSam commented on GitHub (Aug 10, 2025):

I've successfully run and connected the Netbird client with Docker on Synology DSM 7.2, utilising the Realtek RTD1619B SoC CPU (DS223j).

  1. Create and run the reboot script, follow the official doc: https://docs.netbird.io/how-to/installation/synology#reboot-script
  2. Create the docker-compose.yml with this:
services:
  netbird-peer:
    image: netbirdio/netbird:latest
    container_name: netbird-peer
    restart: unless-stopped
    cap_add:
        - NET_ADMIN
        - SYS_ADMIN
        - SYS_RESOURCE
    network_mode: host
    hostname: synology-netbird-client
    devices:
        - /dev/net/tun
    environment:
      - 'NB_SETUP_KEY=xxxx-xxx-xxx-xxx'
      - 'NB_MANAGEMENT_URL=https://your.mgtm-domain.com:33073'
    volumes:
      - './client:/etc/netbird'
    healthcheck:
      test:
        - CMD
        - ping
        - '-c'
        - '1'
        - localhost
      interval: 2s
      timeout: 10s
      retries: 15
<!-- gh-comment-id:3172742652 --> @SasSam commented on GitHub (Aug 10, 2025): I've successfully run and connected the Netbird client with Docker on Synology DSM 7.2, utilising the Realtek RTD1619B SoC CPU (DS223j). 1. Create and run the reboot script, follow the official doc: https://docs.netbird.io/how-to/installation/synology#reboot-script 2. Create the `docker-compose.yml` with this: ``` services: netbird-peer: image: netbirdio/netbird:latest container_name: netbird-peer restart: unless-stopped cap_add: - NET_ADMIN - SYS_ADMIN - SYS_RESOURCE network_mode: host hostname: synology-netbird-client devices: - /dev/net/tun environment: - 'NB_SETUP_KEY=xxxx-xxx-xxx-xxx' - 'NB_MANAGEMENT_URL=https://your.mgtm-domain.com:33073' volumes: - './client:/etc/netbird' healthcheck: test: - CMD - ping - '-c' - '1' - localhost interval: 2s timeout: 10s retries: 15 ```
Author
Owner

@ben-ba commented on GitHub (Jan 17, 2026):

I've successfully run and connected the Netbird client with Docker on Synology DSM 7.2, utilising the Realtek RTD1619B SoC CPU (DS223j).

big thanks, the missing part was the device, all other parts can be copy pasted from the official netbird documentation

<!-- gh-comment-id:3764267168 --> @ben-ba commented on GitHub (Jan 17, 2026): > I've successfully run and connected the Netbird client with Docker on Synology DSM 7.2, utilising the Realtek RTD1619B SoC CPU (DS223j). big thanks, the missing part was the device, all other parts can be copy pasted from the official netbird documentation
Author
Owner

@TechHutTV commented on GitHub (May 9, 2026):

Hey there! Working on a proper implementation for Synology devices. If anyone is interested in testing it would be helpful. Due note this is currently unofficial and experimental. Will be moved to an official NetBird repository after validation.
Setup: https://techhuttv.github.io/netbird-dsm/
Code: https://github.com/TechHutTV/netbird-dsm

<!-- gh-comment-id:4413076017 --> @TechHutTV commented on GitHub (May 9, 2026): Hey there! Working on a proper implementation for Synology devices. If anyone is interested in testing it would be helpful. Due note **this is currently unofficial and experimental**. Will be moved to an official NetBird repository after validation. Setup: https://techhuttv.github.io/netbird-dsm/ Code: https://github.com/TechHutTV/netbird-dsm
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#2203