Documentación: https://matrix.org/docs/spec/
Despliegue: docker-compose.yaml
Procedimiento simplificado de configuración en base a:
- copiar los archivos de configuración (homeserver.enia.yaml, etc a /synapse-admin)
- crear la base de datos y el usaurio en POSTGREST en refencia al archivo de configuración homeserver.yaml)
La base de datos PostgreSQL es de alta disponibilidad
Synapse viene con una herramienta CLI: register_new_matrix_user
Acceder al comando dentro del contenedor ejecutando un shell interactivo:
docker exec -it synapse sh.Ejecutar
register_new_matrix_user -c /data/homeserver.yaml https://HOMESERVER:8008 .La herramienta le solicitará un nombre de usuario (enia), contraseña y definirlo como administrador.
New user localpart: enia
Password:
Confirm password:
Make admin [no]: yes
Success!Junto a la creación del matrix server se deben crear:
- Dos grupos especiales. El grupo "enia" y el grupo "soporte". Los mismos, a traves de sus IDS, serán utilizados en el archivo env del cliente de mensajeria.
- 1 usuario especial para el bot. El usuario "bot"
Cliente de MATRIX recomendado para la creación de los grupos: https://app.element.io/#/login La creación de los usuarios se recomienda a traves del panel de administración. Ambos accesibles con el usuario enia
Repositorio: https://github.com/mautrix/telegram
Despliegue:
version: "3.3"
services:
mautrix-telegram:
container_name: mautrix-telegram
image: dock.mau.dev/tulir/mautrix-telegram:v0.7.0
restart: unless-stopped
ports:
- "29317:29317"
volumes:
- .:/dataProcedimiento simplificado de configuración en base a:
- Copar los archivos de configuracion ((config.yaml y registration.yaml)
Despliegue:
version: '3.3'
services:
maubot:
image: dock.mau.dev/maubot/maubot:169aece027246d46c1b29bcb7e76e74dd59d0609-standalone
ports:
- "29316:29316"
volumes:
- $PWD:/data:z|Procedimiento simplificado de configuración en base a:
- Copar los archivos de configuracion (config.yaml)
Documentación: https://matrix.org/docs/projects/bot/maubot
Después de desplegar configurar maubot, ingresar en la interfaz de administración web a traves de http://NOMBREDEDOMINIO.COM:29316/_matrix/maubot.
El inicio de sesión en la interfaz se habilita desde la configuración del archivo config.yaml. En el mismo incorporar al usuario enia:
#List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password
# to prevent normal login. Root is a special user that can't have a password and will always exist.
admins:
root: ''
enia: 'password'El usuario root no puede tener una contraseña, por lo que se debe utilizar un nombre de usuario diferente para iniciar sesión.
El primer paso es cargar el plugin de eniabot
https://github.com/cottic/eniabot/raw/main/cottic2.maubot.eniabot-1.1.65.mbp
Una vez que tenga el archivo .mbp, haga clic en el botón + junto al encabezado "Plugins" y suelte el archivo .mbp en el cuadro de carga.
Para crear un cliente, haga clic en el botón + junto al encabezado "Clients" y complete el formulario.
El menú desplegable de HomeServer obtiene valores de la sección registration_secrets del archivo config.yaml
registration_secrets:
NOMBREDEDOMINIO.COM:
# Client-server API URL
url: https://NOMBREDEDOMINIO.COM
# registration_shared_secret from synapse config
secret: ***************************************Las instancias son la forma en que los plugins se vinculan a los clientes. Después de haber subido un plugin y creado un cliente, simplemente haga clic en el botón + junto al encabezado "Instancias", elija su cliente y complemento en los menús desplegables correspondientes, designe un ID de instancia y haga clic en "Crear".
Se deben crear las siguientes instancias: @bot:matrix.codigoi.com.ar @enia:matrix.codigoi.com.ar
PHP_VERSION=7.3
Despliegue:
version: '3'
services:
web:
image: nginx:alpine
volumes:
- "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf"
- "./etc/ssl:/etc/ssl"
- "./web:/var/www/html"
- "./etc/nginx/default.template.conf:/etc/nginx/conf.d/default.template"
ports:
- "8000:80"
- "3000:443"
environment:
- NGINX_HOST=${NGINX_HOST}
command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
restart: always
depends_on:
- php
- mysqldb
php:
image: nanoninja/php-fpm:${PHP_VERSION}
restart: always
volumes:
- "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
- "./web:/var/www/html"
composer:
image: "composer"
volumes:
- "./web/app:/app"
command: install
myadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
ports:
- "8080:80"
environment:
- PMA_ARBITRARY=1
- PMA_HOST=${MYSQL_HOST}
restart: always
depends_on:
- mysqldb
mysqldb:
image: mysql:${MYSQL_VERSION}
container_name: ${MYSQL_HOST}
restart: always
env_file:
- ".env"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
ports:
- "8989:3306"
volumes:
- "./data/db/mysql:/var/lib/mysql"CREATE DATABASE c1tableros_enia;
GRANT ALL PRIVILEGES ON c1tableros_enia.* TO 'c1tableros_enia'@localhost IDENTIFIED BY 'tablerosENIA2020';
CREATE TABLE `users` (
`id` varchar(200) CHARACTER SET utf8 NOT NULL,
`content` varchar(2000) CHARACTER SET utf8 NOT NULL,
`departament` varchar(256) NOT NULL,
`school` varchar(256) NOT NULL,
`workcalendars` varchar(1000) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;Ejecutar el archivo con la creación de la estructura c1tableros_enia.sql
Repositorio: https://github.com/cottic/enia-api-tableros
- Requerimientos: git, yarn, nodejs
- Clonar el repositorio: git clone https://github.com/cottic/synapse-admin.git
- Ir al directorio: cd synapse-admin
- Instalar dependencias las dependencias: yarn install
- Incluir el archivo .env
- Compilar la app: yarn build
- Copiar al directoria de publicación synapse-admin/build/
REACT_APP_APISERVER='APISERVER'
Repositorio: https://github.com/cottic/synapse-admin
Repositorio: https://gitlab.com/famedly/libraries/famedly-push-gateway.git
cd famedly-push-gateway
npm install
Editar config.json y los detalles de los mensajes de famedlyPushGateway.js.
Run it with
node famedlyPushGateway.js
Repositorio: https://github.com/cottic/enia-virtual
En base a Flutter 1.2.4
-
APP Android https://flutter.dev/docs/deployment/android
HOMESERVER='NOMBREDEDOMINIO.COM';
APISERVER='NOMBREDEDOMINIO.COM';
MAINGROUP='!HYkJsTHlawQWyzwLYK:NOMBREDEDOMINIO.COM';
SECONDGROUP='!POwBopuroioZAsSpNy:NOMBREDEDOMINIO.COM';
VERSION='Versión 2.0.10 (25/10/2021)';
Documentacion: https://developers.facebook.com/docs/whatsapp/?locale=es_ES
Webhook para setear URL de envio de mensajes: https://docs.360dialog.com/whatsapp-api/whatsapp-api/webhook
Documentación: https://core.telegram.org/bots/a