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/
