this post was submitted on 31 Jan 2025
19 points (91.3% liked)

Selfhosted

41650 readers
383 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I've written a bot for [email protected] that I'm currently just running on my desktop. But I'd like to be able to set and forget it (except for when I do updates) by running it on my Synology NAS.

How can I best pull the node app from GitHub and run it on my Synology, preferably automatically running on start-up if the Synology is restarted.

top 22 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 3 days ago* (last edited 3 days ago) (1 children)

I'd recommend to make a Dockerfile for it and run it that way. It'll be quite a lot easier than to manage installing a bunch of dependencies.

Here's a guide I found pretty good!

Here's a bit of a shorter one too to get some more reference.

[–] [email protected] 2 points 1 day ago (1 children)

How do you run a docker container on Synology? I have a DS923+ which AFAIK should be able to run it, but when I search for Docker in the Package Manager the only thing that comes up is Synology's own container manager, and I have no idea how to work with that.

[–] [email protected] 2 points 21 hours ago

It's basically a front-end GUI to Docker, like how some use Portainer. Synology has pretty alright documentation here. If you're on mobile, click the menu button on the top right to view the sub-pages for the docs, was confusing at first to find what more it had to say about it lol.

But in short, to spin up individual containers you can go to the "Container" page. But there's a big lack of control because Synology so I recommend to use Docker Compose under "Projects" for more fine grained control if needed. When you start a project you have to select a location for the project files and you can use dot notation for sub directory and files when doing volume mounting, eg. ./nginx/config:/etc/nginx/nginx.conf.

There's a lot to read on for containers in general and working with them on Synology is a tad different and sometimes a lot of hoops to jump through. But it's definitely nicer in the end than running almost anything outside of Synology's Office Suite through it!

[–] [email protected] 2 points 2 days ago (1 children)
[–] [email protected] 1 points 1 day ago (1 children)

How do you run a docker container on Synology? I have a DS923+ which AFAIK should be able to run it, but when I search for Docker in the Package Manager the only thing that comes up is Synology's own container manager, and I have no idea how to work with that.

[–] [email protected] 2 points 22 hours ago

It’s just a wrapper on top of Docker. You can import your own yaml files when you create your setup.

[–] [email protected] 4 points 2 days ago (1 children)

The easiest would be using docker, you can set up the container to always restart, that way it will be started automatically on NAS restart.

You can also download node.js from the Synology software center and manually add a cronjob to run after reboot, but the docker way is probably the best way to go.

[–] [email protected] 1 points 1 day ago (1 children)

How do you run a docker container on Synology? I have a DS923+ which AFAIK should be able to run it, but when I search for Docker in the Package Manager the only thing that comes up is Synology's own container manager, and I have no idea how to work with that.

[–] [email protected] 2 points 1 day ago (1 children)

IIRC, that's exactly it. You can either use their GUI (which is not half bad) or you can use the docker command in the terminal after you install the package.

[–] [email protected] 1 points 1 day ago (2 children)

Is there a way to get a terminal on the Synology itself, or is SSH from my PC the only way?

[–] [email protected] 1 points 21 hours ago

There is not. But I'd say keep SSH closed on the NAS or whitelist only your local IP in the firewall. I do that and turn it off when I don't need it. It can be a bit risqué messing about with SSH on Synology because of how funky they've made the distro it's running and any changes you make might not persist on reboot or after updates.

[–] [email protected] 2 points 1 day ago

I only ever used SSH, so I don't know.

[–] [email protected] 5 points 3 days ago (1 children)

If you can containerise it you could run it in docker.

[–] [email protected] 2 points 1 day ago (1 children)

I would love to containerise it. I worked with Docker in a previous job, but honestly I've forgotten most of how to work with it. Would be a nice refresher to try and relearn how to create Dockerfiles and docker-compose.yamls.

Unfortunately I currently have two problems. First: I seem to be completely unable to test this on my desktop. When I open Docker on my PC, it complains that I need to run wsl --shutdown, but despite doing that many times, it still complains, before immediately closing.

So I was going to try doing it entirely on the Synology. And then I ran into the issue that...I have no idea how to even start with that. When I search for Docker in the Package Manager the only thing that comes up is Synology's own container manager, and I have no idea how to work with that.

[–] [email protected] 1 points 1 day ago

Docker on windows is weird. It's why I run docker in a Hyper-V cm on my PC not in wsl.

[–] [email protected] 1 points 3 days ago (1 children)

Only some models of Synology units have the ability to run containers, so check that first.

Otherwise, you COULD try and install the deps from the Synocommunity packages, but they get messy pretty quickly due to architecture limitations per package (one package may only work on select models). You can browse those and their architecture targets on the synocommunity site to make sure what you need will be available. If you can't go the container route, I'd definitely read up on packaging your own app using the synocommunity guides, even if keeping it private.

[–] [email protected] 1 points 1 day ago (1 children)

Yeah I'm pretty sure my Synology should be able to run containers. It's a DS923+. But unfortunately when I search for Docker in the Package Manager the only thing that comes up is Synology's own container manager, and I have no idea how to work with that.

[–] [email protected] 1 points 1 day ago

It's just a docker frontend. Shouldn't be too confusing.

[–] [email protected] -1 points 2 days ago (1 children)

Why can't you run it on your desktop?

[–] [email protected] 1 points 2 days ago (1 children)

I can, but that would require manually starting it up every time I restart my computer—which is daily, for the most part. And there are times when I don't even turn on my computer for the day, or don't do so before the 2pm time the bot needs to run. It would be better to have it running on a system that's always online.

[–] [email protected] 3 points 2 days ago

You could use task scheduler. However, that won't fix the uptime issue.

[–] [email protected] -2 points 2 days ago

Why can't you run it on your desktop?