使用docker部署到Ubuntu的服务器后,MD文件打不开

按照服务器手册用docker部署Seafile v7.x.x到Ubuntu服务器后,浏览器用IP地址登录,上传MD文件,但是在浏览器中打不开MD文件,一直有个黄色的圈在页面中间,别的文件(TXT等)正常。这怎么搞?

先看 seahub.log 有什么错误。如果日志中包含 no such column base_filecomment.uuid_id 错误,这是因为之前升级到 6.3 的时候没有执行一个迁移脚本。

你可以删掉 base_filecomment 表,然后用下面的语句重建:

CREATE TABLE `base_filecomment` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `author` varchar(255) NOT NULL,   `comment` longtext NOT NULL,   `created_at` datetime NOT NULL,    `updated_at` datetime NOT NULL,    `uuid_id` char(32) NOT NULL,    `detail` longtext NOT NULL,    `resolved` tinyint(1) NOT NULL,    PRIMARY KEY (`id`),  KEY `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` (`uuid_id`),  KEY `base_filecomment_author_8a4d7e91` (`author`),  KEY `base_filecomment_resolved_e0717eca` (`resolved`),
    CONSTRAINT `base_filecomment_uuid_id_4f9a2ca2_fk_tags_fileuuidmap_uuid` FOREIGN KEY (`uuid_id`) REFERENCES `tags_fileuuidmap` (`uuid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

TextHTMLCSSJavascriptCC++C#JavaPythonSqlSwiftJSON

如果你使用的是 SQLite (可以用 SQLite 数据库编辑器编辑):

CREATE TABLE "base_filecomment" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "author" varchar(255) NOT NULL, "comment" text NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "uuid_id" char(32) NOT NULL REFERENCES "tags_fileuuidmap" ("uuid"), "detail" text NOT NULL, "resolved" bool NOT NULL);

TextHTMLCSSJavascriptCC++C#JavaPythonSqlSwiftJSON

可是我是直接用docker新部署的7.x.x的,并没有经过6.3的升级

你在浏览器端打开 markdown 文件时,浏览器控制台有错误吗?如果有错误或者日志,可以贴一下。你使用的什么浏览器?

找到原因了,因为我没有修改SEAFILE_SERVER_HOSTNAME,还是默认值seafile.example.com,但是我又是使用IP地址访问的,在点击MD文件后,浏览器跳转到了seafile.example.com开头的网址,导致访问出错。只是奇怪的是点击TXT文件后,能正确跳转到IP地址开头的网址,所以可以正确访问,这种不同的表现似乎是个BUG