Closed Lexachoc closed 1 year ago
I finally fixed it by adding:
user: root
to the docker-compose.yml file which fixs the issue with sed: couldn't open temporary file
.
As for the shiro.ini, instead of
using - ./fastapi_app/data/fuseki/shiro.ini:/fuseki-base/shiro.ini
I change it to
- ./fastapi_app/data/fuseki/shiro.ini:/jena-fuseki/shiro.ini
now the shiro.ini
is replaced with my host shiro.ini
!
So the compete settings are:
fuseki:
image: secoresearch/fuseki
volumes:
- ./fastapi_app/data/fuseki/shiro.ini:/jena-fuseki/shiro.ini
- ./fastapi_app/data/fuseki/databases:/fuseki-base/databases
- ./fastapi_app/data/fuseki/configuration:/fuseki-base/configuration
user: root # Run the container with root user
environment:
- ENABLE_DATA_WRITE=true
- ENABLE_UPDATE=true
- ENABLE_UPLOAD=true
- QUERY_TIMEOUT=60000 # in milliseconds (60 seconds by default)
networks:
- default
- proxy-net
ports:
- "3030:3030"
restart: always
in case someone like me has the same problem.
But I don't know why I have a problem with the permit, to be honest. I'm using Pycharm+ Win10 to deploy to a remote Ubuntu server. and I'm not sure if there are any security concerns....
The cause for the error sed: couldn't open temporary file /fuseki-base/configuration/seduXVqzT: Permission denied
seems to be related to file permissions. A workaround is to (as you found out) to run the container as the root user, or to give write permissions to the host directory ./fastapi_app/data/fuseki/configuration
(seems to work on Linux, but not on Mac). Other possibility is to use a volume instead of a bind mount for /fuseki-base/configuration
.
As it's perhaps slightly incongruent to both have an (explicit) assembler.ttl
file in use and use environment variables to enable endpoints (as the environment variables cause modifications to the assembler.ttl
file), I now added a note on this in README, saying that it is not encouraged to have/use them both. Instead, it is recommended to enable the endpoints by editing the file assembler.ttl
acordingly.
Hi, First, thank you for the docker image!
After I run it on a remote Ubuntu server. I encounter the
sed: couldn't open temporary file /fuseki-base/configuration/seduXVqzT: Permission denied
error when using volume in docker-compose.yml as below:same issue with this one, but I can't find a way to fix it. (I know this must be related to the permission.)
Both volumes for
/fuseki-base/shiro.ini
and .ttl files in/fuseki-base/configuration
are not working.The problem is that I also want to change the "shiro.ini" file to restrict access to the endpoints, but when I tried to copy it to the container, it showed up:
Error response from daemon: Error processing tar file(exit status 1): unlinkat /fuseki-base/shiro.ini: device or resource busy
and I also cannot use volume/bind mount for the
shiro.ini
as in mydocker-compose.yml
:sed: cannot rename /fuseki-base/sedMBBigJ: Device or resource busy
Do you have any idea how to deal with these issues?