我是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"并等待设置过程的完成。完成后,我检查了一下:
-
已经在MariaDB数据库中创建了
Owncloud
表(运行向导之前数据库为空( -
config.php
文件已被修改,现在我看到了所有mysql db
设置,特别是:CCD_ 14,(sqlite设置之前显示的文件(
很显然巫师做了他的事。
尽管如此,如果我转到管理员用户的"设置"页面,在"常规"下,我仍然会看到红色警告:"SQLite
用作数据库…等等"。为了测试,我添加了一个新用户,实际上数据仍然存储在sqlite
文件中,而不是MySQL 中
所以我的结论是Owncloud
在我的设置中忽略了config.php
。
我尝试过但没有成功的事情:
多次重新创建Owncloud
容器数据库更改后重新启动容器根据owncloud
官方文档运行建议的sqlite
到mysql
迁移脚本
我错过了什么?提前感谢当做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.