Seafile es un software de alojamiento de archivos de código abierto, y multiplataforma, por ser compatible con GNU/Linux, Microsoft Windows y Mac OSX. Los archivos se almacenan en un servidor central y se pueden sincronizar con computadoras, u otros dispositivos móviles, a través de aplicaciones de terceros. También se puede acceder a los archivos, directamente, en el servidor de Seafile a través de una interfaz web.
La funcionalidad de Seafile es similar a servicios populares, pero privativos, como Dropbox o Google Drive, y también a productos de software libre como NextCloud u ownCloud. Su principal diferencia, además de la obvia que establece la licencia, es que es una solución de uso compartido de archivos para uso privado de la llamada nube. (Pero no olvidemos que dicha palabra, en su sentido habitual, no está definiendo más que el uso de un servidor, o parte de él, en las instalaciones de otra persona o empresa, como nos advierte Stallman desde el Proyecto GNU, con las implicaciones que ello conlleva).
En las nubes privadas, el espacio de almacenamiento y los límites de conexión del cliente están determinados, exclusivamente, por la propia infraestructura y la configuración de sus usuarios, en lugar de los términos y condiciones de un eventual proveedor de servicios en la nube.
Por ello, las organizaciones cuyas políticas de privacidad de datos les impiden utilizar servicios de nube pública, pueden utilizar Seafile para crear un sistema de intercambio de archivos propio.
Principales funciones de Seafile
Permite a los usuarios crear grupos y compartir archivos fácilmente en grupos. Además, admite la edición WYSIWYG de Markdown, wiki y etiquetas de archivos, entre otras funciones.
Respecto a su funcionamiento, los ficheros se organizan en colecciones, conocidas como bibliotecas, y cada una de ellas se puede sincronizar por separado. Permiten, también, la carga de archivos individuales o de carpetas.
En lo que concierne a la seguridad, una biblioteca se puede cifrar con una contraseña escogida por el usuario.
Instalación de Seafile en GNU/Linux
La forma más sencilla ofrecida por los creadores del producto es utilizar un script de instalación automática, que nos facilitará la última versión comunitaria del producto, conjuntamente con el servidor web Nginx y el motor de base de datos MariaDB, además de Memcached.
Así, lo descargaremos y ejecutaremos de la siguiente manera:
cd /root wget --no-check-certificate https://raw.githubusercontent.com/haiwen/seafile-server-installer/master/seafile_centos bash seafile_centos 6.1.2
Es importante seleccionar que queremos instalar la versión comunitaria, no la profesional. Además, en las instrucciones indicamos que queremos utilizar la versión para Centos. De momento está disponible esta aplicación para Debian 8, Ubuntu 16.04 y Centos 7.
Para consultar las diferentes versiones de instalación os recomiendo consultar este enlace al proyecto oficial: Download Seafile.
Instalación de Seafile mediante Docker
Pues sí, habéis leído bien. Al igual que una larga lista de proyectos, Seafile también tiene una imagen para usar en el sistema de contenedores Docker.
Su uso básico es el siguiente:
docker run -d --name seafile \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -v /opt/seafile-data:/shared \ -p 80:80 \ seafileltd/seafile:latest
Aunque yo os recomiendo este otro, donde podemos indicar el usuario y contraseña que nos interesa:
docker run -d --name seafile \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=me@example.com \ -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ seafileltd/seafile:latest
Si habéis seguido las entradas sobre contenedores que escribí en su día, seguro que ya sabéis que debemos indicar la ruta donde se guarda la información utilizando la etiqueta «-v» para los volúmenes, además de «-p» para especificar la exposición de puertos.
Lo encendemos, en mi caso, de la siguiente manera:
docker run -d --name seafile | -e SEAFILE_SERVER_HOSTNAME=seafile.bitsandlinux.com \ -e SEAFILE_ADMIN_EMAIL=uncorreo@colaboratorio.net \ -e SEAFILE_ADMIN_PASSWORD=una-contraseña \ -v /opt/seafile-data:/shared \ -p 8190:80 \ seafileltd/seafile:latest
Este sería el resultado una vez desplegado, si lo listamos desde la línea de comandos:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 140b02161a3e seafileltd/seafile:latest "/sbin/my_init -- /s…" 5 hours ago Up 5 hours 0.0.0.0:8190->80/tcp seafile
Ya podemos acceder a él vía navegador web:
Y este es el aspecto una vez dentro:
Solo nos falta empezar a jugar con esta útil herramienta, tiene muchas posibilidades. ¿La habéis probado alguna vez? ¿Tenéis experiencia con nubes privadas como Seafile, ownCloud o NextCloud?
Fuentes consultadas:
Artículo en Wikipedia de Seafile en inglés
Tecmint.com – Install Seafile in Centos 7
Manual Seafile – Deploy with Docker
Las imágenes son capturas realizadas por el autor del artículo.
El logo pertenece a la marca Seafile.
En la cabecera de este artículo se ha utilizado una captura de la aplicación Seafile que aparece en su manual. Hemos añadido su logo mediante una capa, así como una máscara semitransparente de un degradado, para diferenciar la imagen de nuestra cabecera de la imagen del fondo. Todo ello empleando el programa de licencia libre para manipulación de imágenes llamado GIMP.
Usamos Seafile en el trabajo y en general el rendimiento es excelente, quizás no es tan «bonito» como Nextcloud (que yo uso a nivel personal) pero desde luego es muy capaz de sincronizar miles de archivos sin los problemas que en su día nos dio Owncloud.
Más que recomendable para entornos corporativos 🙂