How to find / modify the files of an apps (Transmission for me)

Bulgus

Cadet
Joined
Jan 21, 2023
Messages
3
Hello,
After several hours of research, I'm coming to you. I know that this subject has already been partially discussed, but I know very little about it and I did not understand the answers that were given.

Here is my problem:
I installed Transmission with TrueCharts on TrueNas Scale a little while ago, and everything is working fine (Well, except that Transmission doesn't seem to have permission to store files, but I'll do another thread for that). But what I don't understand is how to change the Transmission fihciers. Indeed, I had before Transmission on Windows, and when I wanted to change the html files of the web interface, I succeeded quickly, the files being very easily accessible. But here, TrueNas, I really don't understand how to do it. From what I understood, there are stories of hostPath, PVC storage ... it's very confusing for me ^^.

If someone can explain me a little more how it works, I'm interested !

Thanks in advance for your answers and have a nice day


Translated from French to English
 

MisterE2002

Patron
Joined
Sep 5, 2015
Messages
211
You are using containers. A container is immutable. Meaning: in runtime you can destroy everything (change the html files) but this will be reverted the next start of the same container.

But some data you want to keep. Like the configuration. TrueCharts are using /config and store this in the PVC. It is a " hidden drive" so to say.
Lots of people want to download stuff and share this with samba. So you use "host path" mapping. So you can map for example /mnt/tank/jail_transmission inside the container on /config.

And this makes things more complex. You have to "mount" this to the container, update the app config usually, and beware of the used (id) the container is using to avoid permission problems.
 

Bulgus

Cadet
Joined
Jan 21, 2023
Messages
3
You are using containers. A container is immutable. Meaning: in runtime you can destroy everything (change the html files) but this will be reverted the next start of the same container.

But some data you want to keep. Like the configuration. TrueCharts are using /config and store this in the PVC. It is a " hidden drive" so to say.
Lots of people want to download stuff and share this with samba. So you use "host path" mapping. So you can map for example /mnt/tank/jail_transmission inside the container on /config.

And this makes things more complex. You have to "mount" this to the container, update the app config usually, and beware of the used (id) the container is using to avoid permission problems.
Thank you for your answer! So, if I understand correctly, the only solution is that I create my own Transmission image, in which I integrate my custom HTML, then I... "compile" it? And finally add it to TrueNas.
If this is good, is it possible to explain me a little more precisely how to do it? Or is it really on top of my new one, and I have to deal with it?
Have a nice day
 

MisterE2002

Patron
Joined
Sep 5, 2015
Messages
211
It indeed is possible you modify a app itself but you only should do this if really necessary. If the app gives the option to change the location of the html files you can change this setting. I am not sure what you want to accomplish. Creating your own app is the last resort. I did this for sabnzbd. I need extra packages inside the container (because i run a "post download script") so i extended then "linuxserver/sabnzbd" container.

So, by default TrueCharts is using PVC. This is mounted inside the container on "/config". The option in the webGUI application is probably pointing to "/config/Downloads". Every restart the config and downloads are back because this is that "hidden drive".
This works fine and you do not have to worry about file permissions.

But, the drawback is that files (the downloads) are stored on this hidden drive. You can use the mentioned guide to access the PVC data but that is cumbersome. Most people want to directly share the downloads.

TrueNAS is also supporting Host Path Sharing. This is directly mapping the filesystem to a container. So you add something like:
/mnt/tank/containers/transmission/downloads (the real path on you nas) -> /host/downloads (the mounted location inside the container)

Now you change the webGUI the download location to "/host/downloads". Now it is directly downloaded to the real location. But beware: now you have to think about filesystem permissions. Apps are usually using user 568 so make sure the permissions/ACL's of "/mnt/tank/containers/transmission/downloads" are correct.

NOTE: at this point you are still using PVC (hidden drive) for the "/config" and thus the settings file(s) of the app itself. You can choose to leave it this way or also copy the data to the nas and overrule "/config" (with host path sharing) This can a bit difficult based on the application itself and needs a guide on its own.

But know, if you delete the installed App in Truenas it is also deleting the PVC. Undecided if this is really wise.
 
Top