Auto-Deploy Docker images & containers on a Synology NAS

I think this is rather cool :sunglasses:
Not quite Off-Topic, since this is all about getting a Xojo Web-App deployed on a Synology NAS.

the image below is just a little mug-up of the Synology Manager of my little xDocker (or Xojo Docker) app.

What I want to do is:

  • Being able to drag a web-app into the “project window” of this xDocker app. xDocker will upload the executable to the NAS, along with the libraries needed to run it.
  • Create a Docker Image on the NAS
  • Create a Docker Container on the NAS, with persistent memory options (volumes / folders on the NAS)
  • Run the Web-App (maybe even with external debugging from Xojo enabled, but I have to find out if that is even possible) :thinking:

There is quite a lot to do. But so far, I have been able to:

  • Find my NAS on the network, with the help of some MBS networking plugins. (thanks @Christian_Schmitz )
  • Use the Synology API (yes, there is a REST API for dealing with the DSM)
  • Check if Docker is installed and running on the NAS
  • Communicate with Docker on the NAS, using the UNIX Docker Socket.

So, I think most if the things I want are possible.
Of course, not all Synology NAS systems support Docker. But fortunately two of mine do.

And in the future I could make xDocker support other NAS brands. But since I only have Synology and a WD NAS (that doesn’t support Docker), I’ll stick with Synology for now.

1 Like

Looks like you’re building Lifeboat for NAS.

Funnily enough, my early window designs looked similar to yours (even so far as the status indicator, you can ask @Gavin_Smith )

Lifeboat has different goals, getting your app on the cloud rather than a NAS drive. I get asked about NAS from time to time, so there are people around here who will find your tool useful :slight_smile:

Have fun with the journey, it turns out to be a long one!

1 Like

I looked at Lifeboat. And I love the idea.

Yeah, I’m not sure if I even want the indicator displayed that way. But I want to show multiple statuses: Online, Offline, logged-in-status, docker installed, etc… Icons, on in this mug-up, emoji, takes up less space.

For small projects I prefer to use a NAS. And I’m sure others will agree.
Also, Xojo has remote debugging. So, I could debug a Docker app right from Xojo, on the target platform. That is still on my figure-things-out-list
But adding NAS support to Lifeboat might be a good idea.

Yeah, it really is fun to figure things out. It’s like playing Lego’s… but for digi-nerds, right? :wink:

I really like the Add / Remove buttons, that + / - segmented control thing.
Is the segmented control actually used for that?

It’s something @Anthony_G_Cyphers made for me, it’s segmentedcontrol on Mac and two bevel buttons on Windows. I don’t know if he includes it in GraffitiSuite.

1 Like