QNAP install video using Docker?


I had an issue whereby my last library wouldn’t recommence an import on my Mac, so I decided to give up there, I had a new NAS delivered so believe this is the route I should take now.

It’s a… QNAP… yes, the security system n it sends shivers down the spine :joy:

I read up on a previous post with someone struggling a bit and honestly I think I’ll be the same. I’m more of a visual person good as seeing and listening to examples so much better than trying to understand things meant via text.

Is there any chance at all you would get that QNAP you got powered on and perhaps screen record setting it up?..

I’ve got mine setup with 1 storage group, 1 volume, with a copy of my old drive dumped in there (I’d want a new import outside of that).

If I can’t work this out then I’ve been struggling what else I could use for my highly duplicated media collection :joy::see_no_evil:.

Please, send help :slight_smile:

At this point I’d install either vanilla Debian or https://www.openmediavault.org/ on your QNAP hardware. There are a ton of youtube videos that walk through how to do this–it shouldn’t take more than an hour.

I know that this is a (very) bitter pill to swallow (I have a personal QNAP hardware investment as well!), but it’s just not worth running a box with critical files with so many zero-day security holes.

I will be removing my installation instructions for QNAP soon.

That said, I know have a a mic and will be recording demos and step-by-step instructions on how to get PhotoStructure running on docker as soon as I get v2.1 out the door.

1 Like

Assuming you have a x86 QNAP NAS, if you have a ARM one your options are more limited. I don’t think OMV would run on an ARM QNAP. I used to run UNRAID on a x86 QNAP nas.

I haven’t tried installing OMV on an ARM QNAP box, but the prerequisites documentation does include “ARM” (which is fairly ambiguous, given that there are at least 8 variants of ARM chipsets, and holy moly are there a ton of QNAP models). It doesn’t look dire, though.

Depending on your model, you could simply use the Virtualization Station.

That’s what I am doing: Nighthawk's Home Use Setup

1 Like

Interesting - so looking again, OMV does not make an ISO for ARM, but there is a third-party developed script to install it on ARM SBCs running a vanilla raspbian install, so you’re right, this might very well work on ARM QNAP hardware, assuming you manage to install debian on it first.

Anyway, if you do run an ARM QNAP you’re not going to have a great time with docker… The availability of arm docker images is spotty.

What model do you have @adamj84 ?

I don’t have a qnap anymore, when I did it was x86 and I did not bother to use their container station UI which is kind of trash. I did everything through docker compose (command line) which did require some initial setup (docker compose not available by default). Tons of tutorials on that if you google.

1 Like

Container station is indeed kind of crap, but given that he is looking for an easy solution I would argue the command line might not the way to go. If he is indeed having a x86 QNAP a VM in QNAP’s Virtualization Station could be done within a few minutes (95% of the time is waiting until let’s say Ubuntu is installed).

Happy to create a video for that if it would help.

Thanks for the replies guys. I really didn’t want to downgrade the NAS experience due to the exploits, was hoping I could just get it locked down enough via whitelisting IPs and more.

It’s the QNAP TS-453D, so we’re talking x86 here.

Hey, a video of the setup would be super useful! :slight_smile:

Here you go: WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

Please note the following:

  1. You need to install “Virtualization Station” on your QNAP first.
  2. You need to download and place the Linux image on your NAS. I am using Ubuntu Mate. Choose a download | Download
  3. You need to set the RAM, CPU and HDD space according to your NAS. In your case probably 2-3 CPUs, 4096 MB RAM and HDD is depending on the size of your photo collection.
  4. I did de-select updates during installation to make it faster on the video, you should activate that
  5. The stable version did not start when I tried record the video the first time. I am currently using alpha 2 anyways as it has many many improvements over the stable release

Let me know if you have questions.

1 Like

What a legend you are, thanks for taking the time out of your day to do that, most appreciated! I’ll get on with that later today :slight_smile:

1 Like

@Nighthawk thanks for taking the time to record that!

I suspect you may get (much!) better performance by using Docker instead of “Virtualization Station”.

After installing Container Station (which should get docker installed for you), and setting up ssh access to your NAS, you should be able to ssh into your NAS and follow the Portainer CE installation instructions.

After that, use the docker-compose instructions: PhotoStructure | PhotoStructure for Docker Compose

Using docker-compose you also can set up PhotoStructure to restart automatically on QNAP reboot, so it’s a bit more “set and forget”, and upgrades (thanks to lighthouse) can be made automatic.

When using Virtualization Station, your NAS is having to run a whole Linux MATE distribution (which is >10GB, I believe). The PhotoStructure for Docker image runs on Alpine, which weighs in at only .35 GB (which includes the PhotoStructure binaries, third-party tooling, and the OS!).

This can be done by Virtualization Station as well.

Very true. For me personally the advantage is I do have a proper system where I can log into and check visually what’s going on without the need to using the console (I am a nerd, but not hardcore resp. just super lazy). For that I am happy to sacrifice some space (cost me nothing nowadays) and a few CPU percentage (it ain’t that much relative to the overall system. Compared directly with docker you would get insane relative % gains with docker, but is it really noticeable to a user? I highly doubt it). Plus, I have the Virtualization Station running anyways, so having Container Station running, too would waste probably the gains again (it’s not even installed on my QNAP at the moment). I guess it all depends on individual use cases resp. situations and preferences.

I had a bit mixed results with the Container Station on QNAP, it’s a bit buggy if you ask me, that said, I will give it another chance in the coming days. :slight_smile:

(and just to cover my behind: I would never ever accept wasting CPU/storage resources in a professional environment where scalability and cost matters way more than on my private over dimensioned QNAP)

Same. Good news is that you dont have to use it - you just need to install it so that docker is installed. If docker compose too nerdy, then portainer is a good option. It’s still nerdy, but without the command prompt :slight_smile:

Right… I tried the VM route first, and thank you for that. I did come across an issue whereby the VM failed to boot with a load of errors, that I can’t think what they said at this time, but thats when I saw the advice about doing in using Portainer…

So, I tried that too!

Got much further than I thought I would, however have just come up against an obstacle … I did muddle my way through till this point with the script provided, but hope at the least I can see something working even if the directories aren’t exactly what I want.

I deployed the stack from the custom templates of Portainer (took me a long time to realise this is where I needed to put the script!).

Then going back to the instructions I was kinda left in the lurch I think. So I went and started the only thing I could see in Portainer, and that was the watchtower… but thats not brought up photostructure using the port 1787, sooo, bit stuck?


If the PhotoStructure container isn’t running, check the docker logs–there should have been a last-gasp error message that it emitted before it croaked.

(When I’m testing I find the most often cause for the container to not spin up is from me not getting the bind mounts quite right, which is why I spent the time to add “easy mode”)

hmm, the way you worded that, I’m expecting to see a container called photostructure… and im not seeing an obvious docker logs section on here?

Yeah, there should be a container called “photostructure”. There isn’t, so it probably failed to spin up.

(I’d try image: photostructure/server:alpha, too)

1 Like

Got it. Right. I went to redeploy the stack and realised I missed the error. I’ve gone very wrong with the bits I need to change.

Screenshot 2022-07-13 at 17.52.13

Where the script states to CHANGE THIS, I did, but I’m getting it wrong, I’m just not used to the format of file paths, and how it knows where even the file path is. Do I need to create the folders in advance on the NAS or does the script create them?

In simple terms, I just want (for now at least!) to have 1 folder in my ‘Public’ share (was auto created) to be ‘Photos’. this is where I want all of the Photostructure stuff, inc a fresh, deduced COPY of the photos and videos I want. I have a store of the photos and videos in the same Public share, under a temp folder atm.

I’m just not sure how to get it to know the locations are in the public share on the NAS, and to get everything needed in that folder above?

Docker’s bind mounts can be a bit tricky.

Remember that the “source” directory is the full path on your QNAP.

If you search for “bind mount” you may find other explanations that are more helpful.