I’ve written a bot for !dailygames@lemmy.zip 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.
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.
If you can containerise it you could run it in docker.
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.
Docker would be my go to
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.
I was able to install docker on mine. I don’t remember if I had to grab the installer separately or if it showed up in my package manager though
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.
Why can’t you run it on your desktop?
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.
You could use task scheduler. However, that won’t fix the uptime issue.
Why can’t you run it on your desktop?