QNAP TS-877 Truenas Journal

tim posted his network homelab setup, and raid owl is sharing his. he too uses truenas

@11:56 even owl doesnt need graphics to accelerate his mediaplayer same like me xd. i’m sure there is a good use case for it, but not really for me since i won’t be using it for that often

Did you try the linuxserver jellyfin image?

i nuked immich docker container and did it from scratch.

from time to time they update their docker compose and .env file so this is probably the case.

i sus it wasn’t fully working though it was functional.

setup was quick as long as i had my docker compose and .env which were updated to the latest


as i suspected, doing a clean install for immich and making sure the compose and .env were correctly up to date. seems a bit more stable now

A very odd issue someone pointed out with people weren’t being generated for a zfs

solution: more ram


figured it out. under machine learning - facial recognition


set that to 1. then go to jobs > facial recognition > missing

then go back to people, show all. NOW it shows all the persons you asked it to create but it didn’t. this was why.

If that person is not recognized in multiple counts as specified, they get ignored.

This is why on immich they simply just say add more pics for that person. Alternatively set it to value 1.

So my earlier criticism on immich in regards to the adding persons was simply my lack of understand that you needed to change that setting.

But the gallery creation based on existing folders still remains a valid criticism. For that there is a temporary solution

I don’t know how safe that script is, i’m not a coder, so do your own diligence. I assume it’s ok but you never know.

yes i am using that. i’m a fan of linuxserver docker container images, very secure

it’s working great. for my specific usage it’s fine as is. it’s my offline netflix when the internet is down for some odd reason.

problem is when you want to add the transcoding features for graphics, they ask u to add the repo first, and download the codec.

i don’t know how. i’m a windows user mostly :sweat_smile:

in order to download the fmpeg u need to first add their repo. i don’t know which.

with jailmaker they had the command all there to copy paste, so that was quick.

Anyway i did try but got stuck :cry:


So other than Authentik not working (authentication gate for the docker app services)

my truenas setup is more or less completed for my requirements.

For backup i can just power on the TS-253D and do that. I already tested that as working using rsync (both backup and restore)

I’ll give it a month, if it’s stable enough, then i will begin adding more new data on it. Right now i’m mostly just testing the waters. So far so good.

1 Like

The biggest hurdle for a QNAP NAS user to move to truenas i was told was expansion. But this problem will be solved by end of this year

Then the other thing is how to do docker containers on the truenas platform they are not familiar with. I already documented in the journal to use jailmaker to do that, and how i went about it. it’s easy but it’s commandline based. compare that to something like containerstation which is all gui click install and you are done. But still, if you can follow the guides and setup/manage from commandline, it’s really worth it, because you can have a good place to deploy your dockers on and be very power efficient.

The fan issue, go bios disable smartfans. fans will crank up to max. if you don’t do that, fans might not be working at all. At least it didn’t for the TS-877.

LCD couldn’t fix it. But if someone is more technical they might be able to make a script to do so. I’ve seen it work in an older truenas version before. So it’s not impossible, just someone needs to update the fix for the new truenas version.

then how to restore your data from the qnap to the truenas. use rsync. i tested that working when using qnap HBS to truenas.

oo and you need to be able to connect a monitor and keyboard to the nas in order to be able to access the bios to install truenas. For the TS-877 you need a graphics card to do that.

Yeah i think that is about it. All the challenges facing those still on QTS and hoping to make that switch.

It’s worth it especially if you are stuck on ext4 filesystem and no upgrade path to zfs. Or maybe your model went EOL and you no longer get updates. Or you simply want a replacement os with less bloat.

Not every qnap model is suitable for this. check the truenas requirements first. I only tested 3 models which i can confirm as working fine with truenas. I have an ancient model a TS-509 pro, but i don’t dare install truenas on it :rofl: the hardware is way too outdated. You are better off just getting a new hardware if you plan to build a new nas. It’s more or less in a decommisioned state.

1 Like

rsync options for truenas afaik

the default truenas rsync module. this is truenas recommendation for you to use. it uses ssh for secure connection which is good security practise.

the next option is, rsync daemon in truenas apps. this allows for non ssh to do the rsync.

then there is a third option. something like this. no idea how safe this is, hasn’t been updated in 9 years so i would not recommend it. but it’s an example of hosting this using docker container, then there is the instructions how to set that up. i assume this would be setup in jailmaker in a docker jail. using this as a basis, maybe can find a different similar project for rsync docker.

not a rsync option but zfs replication you can backup and restore from one truenas to another via that method.

i used syncthings for simply sync backups like keepass and aegis, and nothing else, though you probably could.

maybe there are more and good backup/restore alternatives, but these are the only ones known to me.

A buddy recommended to me borg which they swear by, might worth looking into

got into trouble trying to get cron to work, so not gonna touch that for now. but i was brushing up on it


i’m using debian for the docker jailmaker i believe :thinking: which is what was the default config template for docker

the only thing i want to achieve with cron is like others suggested, to update apt, then upgrade anything for jailmaker debian and others stuff in that docker jail.

these are the instructions to set that up

this is the automated way using cron

i couldn’t get it to work. if anyone figures it out plz let me know :cry:

this is the manual way to do it

this is the way i do it currently. manually without any cron. What i can do is, update the apt list, check what needs upgrading, then to proceed with the upgrade. thing that you would update e.g. your base like mine is debian, or apps like nano, or the nvidia toolkit, docker and whatecver else you installed into that jail for docker pretty much

note: when using the apt method, always get the update first, before upgrading any apps. this is to ensure you have the updated list. that is the rule when using apt. for pkg they always update so i read. if not mistaken people recommend using pkg over apt ideally correct me if i am wrong :thinking:

i mentioned this before but i’ll say it again. when you first install jailmaker, then login to jlmkr shell docker (i named the docker jail that)

you can then install some useful tools e.g. nano, curl, gpg and more. this is how to do that

then using nvidia toolkit as an example *you need this if you wanna setup machine learning for immich.


in the installation steps notice there is a curl. that was why we installed it so we can run that command. also we also had to install gpg also for the same reason. so once you have done that, it adds their repository.

then you can proceed with the steps to apt update, the install their toolkit.

that is how that works.

a more indepth explanation what gpg is

this is just me leaving breadcrumbs for the non tech savvy newbies like myself not familiar with these things. so they know what that is and how to use it, to get jailmaker docker up and running and how to maintain stuff :sweat_smile:

because unlike something like say qts container station where you can go app center to update that app with a click of a button, or same for updating qts. then from there you can deploy your containers from a UI like portainer.

But for truenas jailmaker you have to set it up and manage it from commandline. It’s easy but there is an additional learning curve especially if you are not very familiar with these things like me. But once you have done that, you can then setup either portainer or dockge then use that ai to deploy your docker containers from then on, that part is what i’m most familiar with.

so no it’s not just deploying jailmaker and the docker jail, setting up your networking, installing portainer/dockge and you are done and can begin just deploying your docker containers. no, because you need to do other things as well, like upgrading/downgrading/adding repos/updating repos/installing some app required to do all that whether it’s an editor like nano or something else (basically maintenance). that is the gist of it.

in qnap qts, i was a slightly more advanced newbie. but for someone who is coming from install qpkg and begin using apps, you will be in for a shock when trying to setup jailmaker docker and not knowing what is expected of you or how to go about it. since a lot of it is commandline based.

Sure truenas also has that app click install. But then you have to deal with truecharts which i did not read nice things about them so, i opted out of that and went the more advanced route. Which i hope this journal helps explain how that works so you can do the same yourself :sweat_smile:

how to setup truenas vm

i don’t have a particular need for it right now. may use it in future if i want to test a linux desktop os to see if i am ready to make that switch from windows or not :sweat_smile:

found a nice deal on drives for truenas

they got good reviews. in future if i need a drive i may just order from them. i calculated shipping costs it would be worth it. even better if your from the US free shipping.

did more tests. wifi streaming media playback from truenas to smartphone over wifi5 Ubiquiti Unifi AP Lite access point, using Mxplayer android loaded with ffmpeg codecs.

pretty smooth playback.

for music i used substreamer to connect to navidrome docker container hosted on the truenas.

It can access my favourites saved in my navidrome database that can then be accessed to whatever client device opts to access it :heart_eyes:

so playback streaming over wifi check.

even tested the jellyfin android also worked. it detects the server on lan so i pick it. then enter credentials i opt for quick connect. go to desktop admin quick connect enter the code, it successfully logs in. So if you have a guest who wants access, that’s how you do that i suppose.

so these are your media playback options for truneas.

other stuff are like jellyfin on smart tv or kodi. if you are on a google tv, you can install the jellyfin android app to then stream to there from your nas. i got wired cat6a setup for that to a different room, but wifi should be ok as well.

Seems tim updated his traefik video and he got it to work for local lan usage with valid https certs similar to wolf’s video but using traefik. recommended watch

link to his guide. i will later temp disable nginx proxy manager to give it a try. if only to see if it works or not.

So i shutdown nginx proxy manager, followed tim’s guide

deployed traefik

I’m not quite sure if it fully works or not.

because when i deployed the traefik compose in dockge i get this error

ERR Unable to obtain ACME certificate for domains error="cannot get ACME client cloudflare: some credentials information are missing: CLOUDFLARE_EMAIL,CLOUDFLARE_API_KEY or some credentials information are missing: CLOUDFLARE_DNS_API_TOKEN,CLOUDFLARE_ZONE_API_TOKEN" ACME CA=https://acme-staging-v02.api.letsencrypt.org/directory acmeCA=https://acme-staging-v02.api.letsencrypt.org/directory

so when i was checking tim’s troubleshoot list i noticed 2 possible issues with it

root@docker:~# echo ${CF_DNS_API_TOKEN_FILE}



notice both times they output a blank. they are suppose to return the location of the first one, then the credentials for the 2nd.

however, when i went to the domainname for traefik dashboard, it worked kind of.

  1. the admin account i made didn’t work. but a prior user i had set worked o-O;

  2. the lets encrypt cert didn’t work. however it reverts to the CN=TRAEFIK DEFAULT CERT

so though i have an invalid cert which is invalid, the domain name works.

what this means is, regardless of why my htpassword for the admin didn’t work, i still am able to login with the other *shrug

problem is the lets encrypt. it’s not working because it couldn’t find the CF_DNS_API_TOKEN.

i think i may have a solution i have to test out.

as for why other docker container urls are not working, i would need to modify their docker compose to add in the traefik labels for that to work. ALTERNATIVELY, you can modify the traefik files to include the labels there instead. I tend to prefer modifying directly into each docker container compose file by preference. But if you prefer to edit only in one location, then you may go the other method.

tested it on a docker container but couldn’t get it to work. only thing that loads using the duckdns domain was just traefik.

i assume i need to do the rest of tims steps to reach the point for getting it to work also for the other docker containers.

seeing as traefik works, it’s most definitely a label issue. because i went off track and copied my old traefik labels to apply to another docker container’s compose to redeploy to test, but it didn’t work.

so i would have to back track to stick to tim’s guide, but seeing as i got stuck at the lets encrypt, not that motivated to proceed further just yet. hopefully can figure that out or i will simply go back to nginx proxy manager that just works and with less effort.

oo and i did figure out why the TRAEFIK_DASHBOARD_CREDENTIALS= wasn’t working before. I had forgotten to change in dockge the .env variables to update from user to the new user.

1 Like

other people also troubleshooting acme

before during the cloudflare step, if you ran the curl command from jlmkr docker shell

it will confirm it’s correct or not

"status":"active"},"success":true,"errors":[],"messages":[{"code":10000,"message":"This API Token is valid and active","type":null}]}root@docker:~#

only problem i have is how fix the


do i put that in dockge .env?

or this cf_api_token.txt where exactly do you put it :face_with_raised_eyebrow:

gave up. spun down traefik. spun up nginx proxy manager, instantly recovered. working duckdns and letsencrypt valid cert. call it a day :sweat_smile: