Archivo

Entradas Etiquetadas ‘Seafile’

Error Django en Seafile

martes, 25 de enero de 2022 Sin comentarios

Si nos encontramos un error similar al siguiente en los log’s de Seafile (sobretodo al intentar crear un fichero «.md»):

django.db.utils.OperationalError: no such column: base_filecomment.uuid_id

Se debe a que en la migración a la versión 7.0 la base de datos no sufrió los cambios necesarios y nos toca hacerlos a mano.

En el caso de utilizar MySQL nos bastará con hacer lo siguiente después de haber eliminado la tabla «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;

Si se trata de SQLite tendremos que eliminar la tabla «base_filecomment» y recrearla con lo siguiente:

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);

Configuración de arranque de Seafile en Ubuntu 18.04

lunes, 23 de marzo de 2020 Sin comentarios

Si se da el caso de que albergamos Seafile en un dispositivo de almacenamiento en red, debemos generar una serie de scripst de arranque que tengan en cuenta esto para no adelantarse al montaje de la unidad en el arranque del sistema.

Teniendo una línea en el fichero «/etc/fstab» como la siguiente:

192.168.1.10:/mnt/almacenamiento                    /mnt/nas     nfs   soft,nolock           0  0

Con el comando «systemctl list-unit-files» podremos ver los procesos de los que se encarga SystemD y encontrar el que nos interesa, justamente en nuestro caso, uno denominado «mnt-nas.mount».

Por tanto, sólo tendremos que generar el fichero «/etc/systemd/system/seafile.service»:

[Unit]
Description=Seafile
After=mnt-nas.mount

[Service]
User=root
Group=root

Type=forking
ExecStart=/mnt/nas/seafile-server-latest/seafile.sh start
ExecStop=/mnt/nas/seafile-server-latest/seafile.sh stop

[Install]
WantedBy=multi-user.target

Y el fichero «/etc/systemd/system/seafile.service» que arrancará cuando el anterior lo haya hecho:

[Unit]
Description=SeafileHub
After=seafile.service

[Service]
User=root
Group=root
Type=forking

ExecStart=/mnt/nas/seafile-server-latest/seahub.sh start
ExecStop=/mnt/mas/seafile-server-latest/seahub.sh stop

[Install]
WantedBy=multi-user.target

Finalmente habilitaremos los servicios y recargaremos la información:

systemctl enable seafile

systemctl enable seahub

systemctl daemon-reload

Categories: GNU/Linux Tags: , , , , ,

Seafile con editor para ofimática

miércoles, 23 de octubre de 2019 Sin comentarios

Si tenemos funcionando un servidor de Seafile para tener nuestros documentos siempre a mano como alternativa a NextCloud, podemos dotarlo de un complemento que nos permitirá visualizar y editar ficheros en línea del tipo .odt, .docx, etc. Para ello sólo tenemos que seguir unas instrucciones bastantes básicas como usuario root para el supuesto caso de que tengamos Debian:

curl -sL https://deb.nodesource.com/setup_8.x | bash –

apt update

apt dist-upgrade

apt-get install postgresql

su postgres

psql -c «CREATE DATABASE onlyoffice;»

psql -c «CREATE USER onlyoffice WITH password ‘onlyoffice’;»

psql -c «GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;»

exit

apt-get install redis-server

apt-get install rabbitmq-server

apt-get install npm nginx-extras

apt install dirmngr

apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys CB2DE8E5

echo «deb https://download.onlyoffice.com/repo/debian squeeze main» | tee /etc/apt/sources.list.d/onlyoffice.list

apt-get update

apt-get install onlyoffice-documentserver

Después deberemos editar un fichero de configuración ( conf/seahub_settings.py ) de nuestro servidor Seafile para que derive al otro la apertura de este tipo de documentos. Concretamente hay que añadir lo siguiente:

# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = ‘http://mi-servidor/web-apps/apps/api/documents/api.js’
ONLYOFFICE_FILE_EXTENSION = (‘doc’, ‘docx’, ‘ppt’, ‘pptx’, ‘xls’, ‘xlsx’, ‘odt’, ‘fodt’, ‘odp’, ‘fodp’, ‘ods’, ‘fods’)
ONLYOFFICE_EDIT_FILE_EXTENSION = (‘docx’, ‘pptx’, ‘xlsx’)

Sólo nos quedaría reiniciar los servicios de Seafile y ya debería dejarnos consultar y editar los documentos desde la interfaz web.