Instalando Synapse Admin para administrar una instancia administrada por Yunohost

Logo del protocolo Matrix

En el pasado mostré un tutorial para instalar Synapse-admin, pero en caso de haber instalado Matrix Synapse a través del panel de control Yunohost será necesario realizar algunos ajustes extra. Primero necesitamos agregar el repositorio de la herramienta Yarn de la siguiente forma (en caso de instalarlo en una instancia de Yunohost con alguna aplicacion que utiliza nodejs podemos saltarnos la parte de las dependencias)

sudo apt install curl
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update

Después instalamos las dependencias

sudo apt install yarn nodejs git

Descargamos Synapse Admin y lo compilamos

git clone https://github.com/Awesome-Technologies/synapse-admin.git
sudo mv synapse-admin /opt
cd /opt/synapse-admin
yarn install

Cambiamos la configuración del programa

nano .env

Lo dejamos así

REACT_APP_SERVER=https://panel.asgardius.company
PORT=8001

Cambiamos panel.asgardius.company por el nombre de dominio que vayamos a utilizar para nuestra instancia de Synapse Admin

Creamos el servicio de Systemd

sudo nano /etc/systemd/system/synapse-admin.service

Colocamos lo siguiente

[Unit]
Description=Matrix Synapse Admin Interface
Wants=network.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/yarn start
User=<usuario>
WorkingDirectory=/opt/synapse-admin
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Habilitamos el servicio de la siguiente forma

sudo systemctl daemon-reload
sudo systemctl enable --now synapse-admin.service

Editamos el archivo de configuración de NGINX (en caso de usarlo)

sudo nano /etc/nginx/sites-enabled/panel.asgardius.company

Nuestro archivo de configuración será similar a este

server {
    listen 80;
    server_name panel.asgardius.company;
    root /var/www/html;

    index index.html index.htm;
#En caso de instalarlo en una instancia de yunohost
#instalar redirect y copiar desde la línea siguiente al archivo de configuracion de la app
location / {
  proxy_pass        http://127.0.0.1:8001;
  proxy_redirect    off;
  proxy_set_header  Host $host;
  proxy_set_header  X-Real-IP $remote_addr;
  proxy_set_header  X-Forwarded-Proto $scheme;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header  X-Forwarded-Host $server_name;
  proxy_set_header  X-Forwarded-Port $server_port;

  client_max_body_size 0;

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";

}

location /_synapse {
  proxy_pass        https://frank.asgardius.company:8448;
  proxy_redirect    off;
  proxy_set_header  Host $host;
  proxy_set_header  X-Real-IP $remote_addr;
  proxy_set_header  X-Forwarded-Proto $scheme;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header  X-Forwarded-Host $server_name;
  proxy_set_header  X-Forwarded-Port $server_port;

  client_max_body_size 0;

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";

} 
location /_matrix {
  proxy_pass        https://frank.asgardius.company:8448;
  proxy_redirect    off;
  proxy_set_header  Host $host;
  proxy_set_header  X-Real-IP $remote_addr;
  proxy_set_header  X-Forwarded-Proto $scheme;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header  X-Forwarded-Host $server_name;
  proxy_set_header  X-Forwarded-Port $server_port;

  client_max_body_size 0;

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  
} 
#En caso de usar Redirect en Yunohost copiar hasta aquí
}

Reiniciar NGINX

sudo systemctl restart nginx

Dejar un comentario