Gancio es una aplicación web que permite crear una agenda compartida de eventos comunitarios. Gancio utiliza ActivityPub por lo que los eventos pueden visualizarse desde cualquier parte del Fediverso.
De esta forma permite que un grupo de colectivos se unan para crear una agenda colaborativa de los eventos que se hacen en una ciudad, pueblo o barrio.
Entre todas las características de Gancio cabe destacar una interfaz cuidada y sencilla, eventos de varios días (para festivales, conferencias...), eventos recurrentes, permite filtrar eventos por etiquetas o lugares, soporte para RSS y ICS, embeber los eventos en nuestra web, permite crear comentarios, impulsar o guardar desde cualquier parte del fediverso (que tenga soporte a ActivityPub) y entre muchas otras cosas.
Para este tutorial utilizaremos Debian 11, pero es posible instalarlo en cualquier otra distribución o utilizando Docker.
Instalación de Gancio
Para la instalación, primero deberemos de instalar unas dependencias y será necesario configurar NodeJS y Yarn. También deberemos de seleccionar que tipo de base de datos utilizar (MariaDB, PostgreSQL o SQLite). Finalmente habrá que configurar un Nginx Proxy para acceder por dominio.
Instalación dependencias
Ya en el servidor donde vamos a instalarlo, necesitamos instalar estas dependencias necesarias:
apt install curl gcc g++ make wget libpq-dev
Instalación de NodeJS y Yarn
A continuación deberemos de instalar NodeJS, para eso deberemos de seguir este otro tutorial:

Para instalar Yarn:
npm install -g yarn
Instalación de la base de datos
Para la base de datos, deberemos de decidir que tipo de servidor de bases de datos queremos instalar. En este tutorial hemos utilizado MariaDB, pero podéis utilizar PostgreSQL o SQLite.
Para MariaDB
Para instalar MariaDB deberemos de seguir este otro tutorial:

Nos conectaremos a MariaDB y crearemos la base de datos y el usuario:
MariaDB [(none)]> create database gancio;
MariaDB [(none)]> create user gancio identified by 'contraseñasegura';
MariaDB [(none)]> grant all privileges on gancio.* to gancio;
Para PostgreSQL
Para instalar PostgreSQL deberemos de seguir este otro tutorial:

Nos conectaremos a PostgreSQL y ejecutaremos lo siguiente:
su postgres -c psql
postgres=# create database gancio;
postgres=# create user gancio with encrypted password 'contraseñasegura';
postgres=# grant all privileges on database gancio to gancio;
Para SQLite
No hay que hacer nada, simplemente deberemos de configurar el fichero durante la instalación.
Instalación de Gancio
Lo primero será crear un usuario del sistema para ejecutar la instalación.
adduser --group --system --shell /bin/false --home /opt/gancio gancio
Y procedemos con la instalación gracias a Yarn:
yarn global add --network-timeout 1000000000 --silent https://gancio.org/latest.tgz
Configuración del demonio para SystemD
Nos lo descargaremos desde una dirección web y luego recargaremos los demonios:
wget http://gancio.org/gancio.service -O /etc/systemd/system/gancio.service
systemctl daemon-reload
systemctl enable gancio
Finalmente, deberemos de habilitar el servicio:
systemctl start gancio
Gancio levanta el servicio en localhost
y bajo el puerto 13120
, por lo que si queremos acceder vía IP, podemos hacerlo habilitando el puerto en nuestro Firewall.
Configurar Nginx para acceder con dominio
Para acceder con dominio, será necesario hacer un Nginx Proxy hacia el puerto 13120. Para eso deberéis de seguir este otro tutorial:

Si además queremos configurar SSL en nuestro Gancio, deberemos de hacerlo con Let's Encrypt:

Una vez tengamos el SSL funcionando, deberemos de modificar la configuración de Gancio, para ello editaremos el fichero /opt/gancio/config.json
:
{
"baseurl": "https://nuestrodominio.com",
"hostname": "nuestrodominio.com",
"server": {
"host": "127.0.0.1",
"port": 13120
},
...
baseurl
se encuentra nuestra URL con el protocolo HTTPS
, que en hostname
aparezca el nombre del dominio y que dentro de server
el host
sea 127.0.0.1
. De manera opcional si queréis podéis cambiar el puerto.Accedemos vía web
Una vez tengamos todo configurado, podremos acceder vía nuestro navegador a la URL que hemos configurado para iniciar el instalador y la configuración con la base de datos.
Nada más entrar, veremos que podemos seleccionar nuestro idioma y la configuración con la base de datos. Por ejemplo, si hemos configurado MariaDB o MySQL, deberemos de rellenar los datos:

Tras continuar, deberemos de configurar el título de la instancia de Gancio, la descripción, el uso horario, etc.

Al final de esta configuración, podemos configurar nuestro servidor de correo SMTP para el envío de confirmación de registro:

Finalmente, tras darle a continuar, podremos ver la contraseña generada para el usuario admin que tendrá acceso a la interfaz de administración del sitio web.

Tras acceder con el usuario admin, podremos ver el panel de administración:

Además, si creamos un evento de prueba, podremos verlo por ejemplo desde Mastodon:

Comentarios