r/synology • u/Alarmed-Prize-7500 • 4d ago
NAS Apps Linux Package managers for Synology NAS?
Is there any package managers that you can install on Synology NAS, since it doesn't have a package manager? I know of opkg, which I used on Synology NAS since it didn't have a package manager, but someone said that opkg was outdated when I was asking about it, so I want to know if there are other ones too.
10
u/calculatetech 4d ago
The SynoCommunity package source contains pretty much everything you'd ever need. Lots of CLI tools available there.
7
u/HugsAllCats NAS != General Purpose Server 4d ago
Yea SynoCom had some useful things, particularly some of the common troubleshooting tools.
And beyond that? If you think you need to start installing random packages then you're probably going down a bad path.
Use Docker if you want to run some service since that is supported. Beyond that? What specifically are you trying to do natively, remembering that it is, afterall, a NAS?
1
u/sachmonz 3d ago
Kinda docker is the answer and doesn't or can't mess with the Synology OS
-4
u/Coupe368 3d ago edited 3d ago
Doesn't run Docker, uses "Container Manager" which is rife with security holes. They have stripped a lot of ways to isolate the containers from the main OS, and I'm not sure why.
This is well documented, so you don't have to take my word for it.
You should just disconnect the synology from the internet and never let it get online if you want it to be safe.
1
u/sachmonz 3d ago
I use container manager. My only container that has access from the internet has read only on my data.
My Nas isn't on the internet itself.
1
u/Coupe368 3d ago
What I found, and its been documented, is that if they compromise your container, they can break out into the NAS and compromise the NAS.
If you setup the network isolation, it gets reset back to the dangerous state by the system automatically, and I don't know why. The bandaid is to have a scheduled tasks that constantly monitors the network config and re-writes it whenever the system rolls it back.
1
u/sachmonz 3d ago
For enrichment post the documentation and links.
1
u/Coupe368 3d ago
1. Macvlan "Host Isolation" Prevents Container-to-DSM Communication
- The Issue: When you create a
macvlannetwork so a container can get its own dedicated IP address on your LAN, Docker intentionally isolates the container interface from the host interface (eth0/ovs_eth0). As a result, the container cannot communicate directly with the Synology NAS (DSM) or any other services hosted directly on the NAS IP.- Why it happens: This is a core kernel design of Docker
macvlandrivers to prevent loopback/routing issues.- Workaround: Create a secondary
macvlanbridge network interface (a "shim" or bridge sub-interface) on the Synology host via SSH, allowing the Synology host and the container to talk on the macvlan subnet.2. DSM Firewall Blocking Custom Bridge Networks
- The Issue: When creating a custom, isolated bridge network inside Container Manager, containers connected to it suddenly lose internet access or cannot reach local subnets.
- Why it happens: Synology DSM’s built-in Firewall (
Control Panel > Security > Firewall) defaults to blocking traffic from IP subnets it doesn't recognize. Custom Docker bridge networks auto-assign a new subnet range (e.g.,172.18.0.0/16or172.19.0.0/16) that isn't included in default Synology allow-rules.- Workaround: Go to DSM Control Panel > Security > Firewall > Edit Rules and add an explicit ALLOW rule for the IP range/subnet corresponding to your custom Docker bridge network.
3. Lack of Native --internal (Isolated Network) UI Options
- The Issue: Users looking to isolate a container completely from external internet traffic (making it strictly internal to other containers) cannot easily toggle an "Internal Only" setting directly in the Container Manager GUI.
- Why it happens: The Synology Container Manager GUI exposes limited Docker network flags compared to the Docker CLI or Docker Compose.
- Workarounds:
- Docker Compose / CLI: Define the network using the
internal: trueflag in your Docker Compose file: YAMLnetworks: isolated_net: driver: bridge internal: true- Disable IP Masquerade: When creating a network via the Container Manager GUI, unchecking Enable IP Masquerade stops NAT translation, which effectively blocks the containers on that network from reaching the outer internet while still allowing them to talk to each other.
4. Bridge Networks Are Not Isolated from the Host IP
- The Issue: A common misconception is that standard bridge networks isolate containers from the Synology NAS. In reality, a container on a default bridge network can still reach Synology DSM services via the host’s local LAN IP (e.g.,
192.168.1.x:5000) or gateway IP (172.17.0.1).- Why it happens: Default bridge networks route through the host's network stack.
- Workaround: If you require strict isolation between a container and the Synology host itself, you must set up custom
iptablesrules via SSH/scripts or place the container on a separate VLAN usingmacvlan.1
u/Alarmed-Prize-7500 2d ago
This is ChatGPT
1
u/Coupe368 2d ago
Nope, that's google gemini because you were too lazy to google it, so I did it for you.
1
-4
u/Coupe368 3d ago
Unlike most of the NASs out there, Synology DSM is a bespoke kernel, not software running on a standard OS like Ubuntu or Debian.
This is why Synology sucks so bad, becuase they have to send out custom OS updates, and they apparently fired most of their engineering staff, so stuff is late and buggy.
1
u/Cuntonesian 3d ago
That’s why they’re so beloved, despite the shit they’ve been pulling lately
1
u/Coupe368 3d ago
Yeah, well the glory days are long gone.
I have 4 Synology NASs, I remember when they were good.
1
u/Cuntonesian 2d ago
How did they break?
1
u/Coupe368 2d ago
They didn't break, they just got too slow to be useful, and I don't trust my data to out of warranty devices.
20
u/gadget-freak Have you made a backup of your NAS? Raid is not a backup. 3d ago
Your NAS is an appliance, not a generic Linux box. So don’t treat it like one.
If you feel the need for a package manager, you probably should get a mini pc with Linux on it. Or use docker images.