This error is coming directly from libsqlite3 and indicates that the sqlite3 library cannot open the database file. The only root cause for this error is a problem with your volume mount configuration. This can include security settings (apparmor, selinux, etc) from preventing the process from writing to the host machine [1].
Did you read the link I provided? In some instances, the host machine security settings can prevent the process running in the container from writing to the volume, unless properly configured.
I’ve also got the same issue/problem/challenge as @den-vasyliev!
I’ve;
ensured that the agent uses drone/agent:0.8 image
ensured that the server uses drone/drone:0.8 image
been told by colleages that we’re running RHEL servers without SELinux enabled (on-purpose turned off)
What else could this error message then be caused by?
I’ve made a gist with some normal (and verbose) output here.
Could I so humbly ask for some assistance/advise as to how to debug this? =)
PS: I’ll continue to google around/ask to see if I can confirm the SELinux claim!
(But I’ve already tried with the :z and :Z flags on the mount…)
did you add the :z to your volume mount as was recommended at the link I posted?
-v `/var/lib/drone:/var/lib/drone:z`
Could I so humbly ask for some assistance/advise as to how to debug this?
Perhaps consider asking the question on Stackoverflow? Keep in mind that this error message comes from the libsqlite3 library and indicates that libsqlite3 cannot write to the directory. The inability to write to a mounted volume from inside a container needs to be debugged at the Docker or Linux level. I therefore recommend Stack Overflow because you might need a different set of expertise to resolve this issue.
@den-vasyliev You have two volumes section in your compose file. The second one where you define your pem file overwrites the first one where the Drone sqlLite path is mounted. So the sqlLite path doesn’t exist and can’t be created.