Owncloud似乎忽略了config.php中的dbtype(使用docker)



我是Owncloud新手,想在我的NAS (QNAP)上部署一个容器化版本的Owncloud,作为Dropbox的私有替代方案。使用默认的sqlite数据库,我可以毫无问题地运行Owncloud的docker容器:我访问GUI、创建管理员用户、浏览文件结构等。但我想切换到Mysql,但到目前为止我无法做到,因为Owncloud"似乎"忽略了config.php中的设置。

我在一个单独的容器中创建了一个MySQL实例(MariaDB(,并向其中添加了一个空的owncloud-reserved database:我验证了从Owncloud容器中,我可以使用适当的凭据通过命令行成功登录MySQL,因此数据库是可访问的。

按照我在网上找到的一些说明,我编辑了文件config.php,并将变量$CONFIG中的字段"installed"从"true"更改为"false":这会在登录时触发数据库配置向导。在向导中,我选择"MySQL"并等待设置过程的完成。完成后,我检查了一下:

  1. 已经在MariaDB数据库中创建了Owncloud表(运行向导之前数据库为空(

  2. config.php文件已被修改,现在我看到了所有mysql db设置,特别是:CCD_ 14,(sqlite设置之前显示的文件(

很显然巫师做了他的事。

尽管如此,如果我转到管理员用户的"设置"页面,在"常规"下,我仍然会看到红色警告:"SQLite用作数据库…等等"。为了测试,我添加了一个新用户,实际上数据仍然存储在sqlite文件中,而不是MySQL 中

所以我的结论是Owncloud在我的设置中忽略了config.php

我尝试过但没有成功的事情:

多次重新创建Owncloud容器数据库更改后重新启动容器根据owncloud官方文档运行建议的sqlitemysql迁移脚本

我错过了什么?提前感谢当做Sergio

问题已解决。将以下具有适当值的变量添加到容器的环境中达到了目的:

OWNCLOUD_DB_TYPE=mysql
OWNCLOUD_DB_HOST=name or ip of the host (container) where the db is running
OWNCLOUD_DB_NAME=name of the database
OWNCLOUD_DB_USERNAME=name of the user to authenticate with (must have full privs on the db)
OWNCLOUD_DB_PASSWORD=its password

谢谢S.

相关内容

  • 没有找到相关文章

最新更新