-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to run at DSM 7.1 (Permission Error) #99
Comments
Hi, Did you find a solution for this issue? I have the same issue and I'm running it on ubuntu server (vps). I only managed to start the container by changing the container volume path to |
unfortunately no |
I fixed my problem, but this might not work for you since you're using Synology. The folder created on the host path by the container has root:root permissions. All I had to do was change the folder permission to my user (1000:1000), and then it worked. Although I first tried to use my mounted CIFS path, that didn't work. I'm not sure if you checked other resolved issues, but there is a solution for Synology as per this discussion.
Hope that fixes your problem. |
I am very pleased to have found a solution. You need to right-click on the mounted folder in the Synology system, select "Properties," and then choose "Permissions" to grant the "Tachidesk" user write permissions. |
Would you mind share some screenshots? Actually I granted full control permission to "Everyone" user group but still complaining the permission issue. |
|
呃,我用的還是老版本的Docker而不是Container Manager |
Can't get it to work also with Synology DSM 7.2.1 + Container Manager. I don't really know Docker, but I do not understand why this problems happens - sure, the Dockerfile creates a new "suwayomi" user inside the Docker VM and uses it to create other stuff? I mounted some local folder from my NAS to the "/home/suwayomi/.local/share/Tachidesk" path inside the Docker VM with all permissions, so it should not matter which user account the Docker VM uses to create files and stuff, no? Of course uid 1000:1000 does not exist on my DSM, but that should not matter at all I think? Why does it not work? :-( |
i dont know is it a safe action or not and may complicated things later on. But i am able to resolve the issue by adding id of root of my server instance. try to check your id from the shell and then add accordingly on docker compose. For me it was (0) and i add:
or before you start docker compose, make a server.conf file to your mounted volume, the script will skip the mv of server.conf. i dont know if you can success on downloading mangas later on tho. the problem is still the incorrect permission. |
my solution is changing the binding folder ,the default is - ./data:/home/suwayomi/.local/share/Tachidesk, I changed the folder /home/suwayomi/.local/share/Tachidesk to /root/.local/share/Tachidesk ,and the docker works normally. |
How did you manage that? Do you use a local GIT repo? If I use the upstream file https://github.com/Suwayomi/docker-tachidesk/blob/main/docker-compose.yml and change docker-tachidesk/docker-compose.yml Line 30 in cd140cd
to
(and then putty/ssh to my Synology NAS and install my custom .yml-file with for example, all the scripts inside https://github.com/Suwayomi/docker-tachidesk/tree/main/scripts still try to use Did you replace all string-occurences of that inside this project with Could you please provide me with all steps you took, I am not familiar with Docker and really would like to get this working :) Thanks! |
version: '3.7' here's my docker-compose yaml |
Thx! But it still points to the offical repo with the unmodified scripts, yes? Did you use an already pre-existing server config file in your path? If not, not sure how that could have worked...? |
I didn't add any server server.conf to the binding path. the first docker of tachidesk I installed was this one: https://registry.hub.docker.com/r/dezhao/tachidesk_cn/, which is a old and chinese version.Its path in the docker is /root/.local/share/Tachidesk,so I modified the binding path,and the docker works just normal. |
Thanks, but I do not get how this could work for you, since the scripts still reference the /home/suwayomi/.local/share/Tachidesk path. Pretty sure your /volume1/docker/tachidesk-docker/config path must contain an existing config file - if you use an empty folder (like me), i think it does not work. |
For folder permission setting on synology DSm for container, you could refer to this document. https://kb.synology.com/en-us/DSM/tutorial/Docker_container_cant_access_the_folder_or_file#x_anchor_idcd3f1170a3 |
this error happened to me toooo, I tried to install the dezhao/tachidesk_cn first to make the /home/suwayomi/startup/server-reference.conf can be created, and then suwayomi works well on my DSM 7.1 |
That Tachidesk_cn is old and unsupported. The latest |
i guess before setting up the docker, it's necessary to give folder read and write permission to suwayomi. |
yes I'm using suwayomi, tachidesk-cn was just used to avoid the permission error on DSM 7.1. |
Oh I see, misread your message. tachidesk-cn is based on the old Suwayomi container we had when this error was more common. Great that your using the latest Suwayomi |
"please pass the gid and uid to the [docker user parameter]" which gid / uid should we pass to the docker container? From the docker user (user which runs docker) on Synology NAS? |
It needs the uid and gid of the user who owns the folder that the volume is inside |
That is the same user who runs Docker. I gave on this now and simply installed a full VM on my NAS which runs Suwayomi on first try without any problems. I don't get why you can't provide a proper Docker container which does not require root, hardcoded users, external users or other stuff - all other Docker containers on DSM do not have this problem. |
From what I know, Suwayomi does not require root. Files will be created with the uid or gid given to the container, or 1000:1000 if none is passed. This is normal docker behaviour, if you look at LinuxServer containers, you will see UID and GID environment variables, which are the same type of thing. |
I un-mounted the local drive and ran the container, which launched successfully. I then used the docker cp command to copy the contents of the /home/suwayomi/.local/share/Tachidesk folder to my local /volume1/docker/tachidesk/files folder. Re-mounting the folder results in the EXACT same log errors even though the files should all exist now. The only thing I can think of is there is something odd in the path or the way the code is attempting to resolve the file path. |
I don't know why that fails, maybe you need to change the "mv" to "mv -f" there:
But all that does is copying the server-reference.conf file from the .jar to the shared folder as "server.conf" file. You can do this by hand and try again. |
Yeah but isn't that effectively the same thing I already did by copying the files directly out of the container to the local file system? |
I did not understand what you meant to be honest, sorry :D See
You could remove this line and test if it launches then:
|
SOLVED In my docker-compose file I had in the environment section: Tried the version that I found above but had the same result:
Finally asked AI how to properly set the PUID and got this example as it apparently the "new" way to properly set a user...
So after I updated my docker-compose using this format:
It worked! ROOT CAUSE PROBLEM: Container not running under service account credentials |
Hi guys, trying to deploy on my synology NAS yet suwayomi refuses to start up. Seems some permission issues but have no idea how to fix it.
the log was very short and raises following error
command used was
docker run -p 127.0.0.1:4567:4567 ghcr.io/suwayomi/tachidesk:preview
actually tried
docker run -p 127.0.0.1:4567:4567 ghcr.io/suwayomi/tachidesk:latest
as well but also the same error raised.The text was updated successfully, but these errors were encountered: