====== Shaarli ======
[[informatica:software:aplicaciones_web:gestor_de_marcadores|Gestor de marcadores]] / favoritos. Desarrollado en [[informatica:programacion:php|PHP]].
* [[https://github.com/shaarli/Shaarli|Repositorio oficial]]
* [[https://shaarli.readthedocs.io/en/master/|Documentación]]
No es multiusuario.
{{https://medevel.com/content/images/2022/04/WWPfSj0.png |}}
===== Características =====
* No require base de datos.
* Buscador
* Uso de etiquetas (//tags//).
* API REST.
* Suscripción RSS.
* Soporte de plugins y temas.
* Enlaces únicos (//permalinks//)
* Importación y exportación de marcadores.
* Limpieza automática de URL (eliminación de ''?utm_source=...'', ''fb='', etc)
===== Casos de uso =====
* Compartir, comentar y guardar enlaces interesantes.
* Guardar enlaces útiles o frecuentes y compartirlos entre ordenadores
* Plataforma de microblogging.
* Lista de tareas o de leer después (//read it later//)
* Bloc de notas para preparar artículos, posts o ideas.
* Base de conocimiento para guardar notas, documentación o trozos de código (//code snippets//)
* Pastebin / bloc de notas / portapapeles compartido.
* Gestión de playlists para multimedia online
* Repositorio para otros blogs, agregadores, redes sociales...
===== Instalación =====
==== Docker ====
Si montamos el volumen del contenedor en nuestro host, el primero debe pertenecer al usuario y grupo ''nginx'', así que, dentro del contenedor haríamos:
chown -R nginx:nginx /var/www/shaarli/data
chown -R nginx:nginx /var/www/shaarli/cache
Si no lo hacemos, el instalador se quejará de que no tiene permisos suficientes en el directorio ''data''.
Ejemplo de ''docker-compose.yml'':
version: '3'
services:
shaarli:
image: ghcr.io/shaarli/shaarli
container_name: shaarli
volumes:
- ./cache:/var/www/shaarli/cache
- ./data:/var/www/shaarli/data
===== Configuración =====
==== Temas ====
Shaarli permite modificar la apariencia de su interfaz mediante temas.
Uno bastante bueno es [[https://github.com/kalvn/Shaarli-Material|Material]]. Para instalarlo, nos situamos en el directorio ''/var/www/shaarli/tpl '' y descargamos el tema:
wget https://github.com/kalvn/Shaarli-Material/releases/download/v0.12.1/shaarli-material.v0.12.1.zip
Descomprimimos:
unzip shaarli-material.v0.12.1.zip
Nos vamos a sección de configuración de Shaarli y en **Theme** ya podremos seleccionar **Material**
{{https://raw.githubusercontent.com/kalvn/Shaarli-Material/master/screenshots/home.png |}}
Otro tema bastante actualizado es [[https://github.com/RolandTi/shaarli-stack/|Stack for Shaarli]]:
{{ https://raw.githubusercontent.com/RolandTi/shaarli-stack/main/screenshots/stack_sml.png |}}
==== Exportar marcadores ====
Desde el menú **Tools**, elegimos la opción **Export**.
==== Importar marcadores ====
===== Copia de seguridad =====
Todos los datos y configuración de Shaarli se almacena en el directorio ''data''.
Si queremos hacer copias de seguridad:
rsync -avzP my.server.com:/var/www/shaarli.mydomain.org/data ~/backups/shaarli-data-$(date +%Y-%m-%d_%H%M)
Para restaurar una copia de seguridad, basta sobrescribir el directorio ''data'' con el contenido de la copia de seguridad.
* [[https://shaarli.readthedocs.io/en/master/Backup-and-restore/|Backup and restore]] (Documentación oficial)
===== API REST =====
Shaarli expone una API para poder interactuar con la aplicación de forma externa.
Existe un cliente hecho en Python para usar esta API: [[https://github.com/shaarli/python-shaarli-client|python-shaarli-client]]
En //Settings// -> //Configuration// podemos encontrar (y modificar) la clave para acceder a la API de la instancia de Shaarli: **API secret**.