In my latest video we veer off into the nerdy weeds with a detailed step-by-step tutorial about how to spin up and manage complex Docker applications using the new Synology Container Manager that can be found in DSM 7.2.
As I mentioned in my previous video about my self hosted projects, there are hundreds of amazing open source applications out there that offer similar functionality to popular cloud apps. I received so many questions and comments from that video about how I get them running via Docker on a Synology NAS, so that’s where this video comes in.
Because the Docker containers run in an isolated environment, they’re a little more secure than just running applications on the NAS directly. They’re also very easy to back up and move to another server if needed. Just copy the folder over to the new machine, rebuild the containers with a mouse click, and migration is done!
In the video I demonstrate installing Wallabag, an open source “read later” application similar to Pocket and Instapaper. The way it works is that Wallabag will download an archive of a provided URL, transform the web page into a readable format with just the content, and make it available for offline reading via a web browser. The Wallabag app for Android and iOS can sync the Wallabag container’s data with a phone or tablet.
Wallabag runs on the NAS in a container and its data is stored locally there as well. Using Tailscale I’m able to connect back to the application from anywhere in the world securely without having to open up any ports on my router.
I chose wallabag for this demonstration because it’s an example of a project that consists of multiple Docker containers working in concert with each other. In this case there’s the main Wallabag application in one container, a mysql database server in another and a third container runs a redis caching server.
In the past it was possible to get a project like this working but it had to be done outside Synology’s Docker app using the command line or another tool. Container Manager now makes it possible to build and run applications like this without having to use anything else.
In the tutorial I detail the steps of finding and editing Wallabag’s Docker Compose file and building the application as a “project” inside of Container Manager. One of the important things in this process is pointing the containers to a directory on the NAS for storing data. Containers are considered expendable with each update or build, so user data has to be mapped to a persistent storage location on the NAS. After trouble shooting a few minor error codes I was able to get Wallabag project built and operating relatively quickly and reliably on the NAS.
While all of this might seem a bit daunting vs. finding an app and hitting the install button, containerized applications are in many ways the new standard for running open source applications like this. While there is some up-front complexity, the advantages of having what is essentially portable versions of very robust server applications save far more time in the future. Should something ever happen to my NAS I just need to restore the backup files to a new location, click the build button, and I’m back exactly where I left off.
Let me know what you think in the video’s comments! Also be sure to share some of the containers you’ve found to be most useful.
Disclosure: Synology is an occaisional sponsor here on the channel and they provided me with the NAS hardware used in the review free of charge. However they did not sponsor this video nor did they provide any input or approval prior to publishing.