Slackware Install Synapse

Instalacion de Synapse ( matrix server) en Slackware

Para la instalación de Synapse, se usara pyenv en el home de un usuario , matrix en este caso

si no conoces pyenv visita su web

Un apunte , desde la versión 1.142.0 de synapse ya no hay soporte para python 3.9.x , por la política de matrix.org , pero ya tiene soporte para python 3.14 Synapse 1.142.0rc1 (2025-11-04)

" Synapse sigue los ciclos de vida de soporte ascendentes para Python y PostgreSQL, Es decir, cuando una versión llega a End of Life Synapse retirará el soporte para eso Versión en futuros lanzamientos. "

python 3.9.x es el que esta instalado por defecto en Slackware y ya esta “end of life” https://endoflife.date/python asi que para la instalación se usara pyenv instalando todo en el home de usuario , también puede servirte para otra distribución Gnu/Linux , pero igual necesitas instalar algunas dependencias extra

  • crear usuario para la ocasión ejemplo pero crea el que quieras

    adduser matrix 
    
  • instalación de todo lo necesario en el home de el usuario

puedes leer la documentación de pyenv

Instalacion en Slackware

Añade o crea si no existe al ~/.bash_profile de el usuario que se creo ( matrix en este caso)

NOTA esto puede variar en tu distro ~/.bash_profile puede ser .. ~/profile etc , consulta como es en tu distro

nano  ~/.bash_profile

y añade el siguiente contenido

export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi

Instalación de pyenv

  • pyenv

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
    

“Optionally, try to compile a dynamic Bash extension to speed up Pyenv. Don’t worry if it fails; Pyenv will still work normally”

  cd ~/.pyenv && src/configure && make -C src   

Si tienes un error al usar pyenv como el siguiente " pyenv: no such command `virtualenv-init’ " usa el siguiente comando para su instalación

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv 

para que cargue el ~/.bash_profile utiliza

 source ~/.bash_profile 

también puedes salir y logueate con el usuario

Instalación de python 3.14

Se instala python 3.14 por el tiempo de vida , ver … https://endoflife.date/python

si quieres ver con pyenv que versiones de python puedes instalar

pyenv install -l 

luego para instalar la versión que quieras

pyenv install 3.x.x

en el caso actual

 pyenv install 3.14.0

comprueba que esta instalado

pyenv versions

* system (set by /home/matrix/.pyenv/version)
3.14.0

ahora puede instalar Synapse con pyenv de dos formas , global o local

segun google…

“La principal diferencia es el alcance de cada comando pyenv global establece una versión de Python para todo el sistema, mientras que pyenv local la establece solo para un directorio específico creando un archivo .python-version. La versión global es la predeterminada, pero la versión local tiene prioridad y anula a la global para ese directorio y sus subdirectorios”

“En resumen, usa pyenv global para establecer tu versión de Python predeterminada y pyenv local para sobrescribir esa configuración en proyectos específicos”

  • Prioridades de versiones de Python gestionadas por pyenv

si quieres hacerlo de forma local crea un directorio e instalar en el

se usara la forma global en este caso

para guardar configuraciones etc se crea el directorio Synapse

 mkdir ~/Synapse
 cd ~/Synapse
 pyenv global 3.14.0

puedes ver con

 pyenv prefix 

que deja todo el entorno de instalación en …

 /home/matrix/.pyenv/version/3.14.0/envs 
  • crear virtual env

    pyenv virtualenv 3.14.0 synapseenv
    

esto crea el entorno virtual en ~/.pyenv/versions/3.14.0/envs/synapseenv

  • activar el entorno virtual

    pyenv activate synapseenv
    

cambiara el prompt

(synapseenv) matrixg@host:~$

comprueba que estas usando el python correcto

python --version

Python 3.14.0

y el entorno virtual correcto

pyenv prefix

/home/matrix/.pyenv/versions/synapseenv

ok ya esta todo listo para instalar Synapse en Slackware

pip install --upgrade pip

pip install --upgrade setuptools

pip install psycopg2

pip install matrix-synapse

si no dio ningún error etc … ya tienes instalado Synapse

  cd ~/Synapse

usa este comando dentro del directorio Synapse para terminar la instalación , modifica “you.server.name” por tu host

 /home/matrix/.pyenv/versions/3.14.0/envs/synapseenv/bin/python -m synapse.app.homeserver -c homeserver.yaml --generate-config 

–server-name=you.server.name –report=no

los ficheros de configuración se alojaran en

/home/matrix/Synapse 

NOTA: modifica la configuración de logs para ponerlo en un subdirectorio o en el lugar que quieras , en este caso

  mkdir /home/matrix/Synapse/logs

Synapse start

  matrix@host:~$ cd /home/matrix/Synapse
  pyenv activate synapseenv
  (synapseenv) matrix@host:~/Synapse$ synctl start

Para la configuración de Synapse puedes leer

Instalación https://element-hq.github.io/synapse/latest/setup/installation.html

uso de postgres https://element-hq.github.io/synapse/latest/postgres.html

configuracion de un proxy reverso https://element-hq.github.io/synapse/latest/reverse_proxy.html

configuracion fordward proxy https://element-hq.github.io/synapse/latest/setup/forward_proxy.html

configuracion de Turn server https://element-hq.github.io/synapse/latest/turn-howto.html

para Slackware puedes usar coturn https://slackbuilds.org/repository/15.0/network/coturn/