diff --git a/matrix-synapse/deploy.py b/matrix-synapse/deploy.py deleted file mode 100644 index 77e10a5..0000000 --- a/matrix-synapse/deploy.py +++ /dev/null @@ -1,215 +0,0 @@ -from pyinfra import host -from pyinfra.operations import apt, server, files -from pyinfra.facts.server import LinuxName - -import os - -files_path = "files/matrix-synapse/" - -## don't exexute on a local mashine -if host.name != "@local": - - ## edit fstab to set wxallowd - ''' - files.line( - name="edit fstab to set wxallowd", - path="/etc/fstab", -# line="var ffs rw,nodev,", -# line="var ffs rw,wxallowed,nodev,", -# line="var /var ffs rw,wxallowed,nodev 0 0", -# line="var /var ext4 rw,wxallowed,nodev 0 0", - ) - ''' - - ## change mount option for /var for now - ''' -[matrix] mount: /var: wrong fs type, bad option, bad superblock on var, missing codepage or helper program, or other error. -[matrix] dmesg(1) may have more information after failed mount system call. -[matrix] Error: executed 0 commands - ''' - ''' - server.shell( - name="change mount option for /var for now", -# commands="mount -uo wxallowed /var", - commands="mount -o wxallowed /var", - ) - ''' - - ## check on which Distribution the script is executed - if host.get_fact(LinuxName) == "Debian": - - ## enable prerelease chanel to install matrix-synapse on Debian - server.shell( - name="enable prerelease chanel to install matrix-synapse on Debian", - commands=["wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg", - "echo \"deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main prerelease\" | tee /etc/apt/sources.list.d/matrix-org.list", - ], - ) - - ## update apt repositories - apt.update( - name="update apt repositories", -# _doas=True, -# _doas_user="pyinfra", -# _sudo=True, -# _sudo_user="pyinfra", - ) - - apt.packages( - name="install build-essential python3-dev libffi-def python3-pip python3-setuptools sqlite3 libssl-dev virtualenv libjpeg-dev libxslt1-dev libicu-dev as prerequisites for matrix-synapse-py3", - packages=["build-essential", - "python3-dev", - "libffi-dev", - "python3-pip", - "python3-setuptools", - "sqlite3", - "libssl-dev", - "virtualenv", - "libjpeg-dev", - "libxslt1-dev", - "libicu-dev", - ], - ) - - apt.packages( - name="install synapse", -# packages=["synapse"], - packages=["matrix-synapse-py3"], - ) - - apt.packages( - name="install libxml (for link previews)", -# packages=["py3-libxml"], - packages=["python3-lxml"], - ) - - apt.packages( - name="install opendoas", - packages=["opendoas"], - ) - -# elif host.get_fact(LinuxName) == "": - else: - print("matrix-synapse deploy.py don't support: \"" +host.get_fact(LinuxName) +"\" yet") - exit("exit from matrix-synapse/deploy.py") - - ## copy doas config - doas_conf_path = files_path +"doas.conf" - exi = os.path.exists(doas_conf_path) - if exi == True: - files.put( - name="copy doas config", - src=doas_conf_path, - dest="/etc/doas.conf", - ) - else: - print("file: \"" +doas_conf_path +"\" dosn't exists") - - ## generate synapse config - server.shell( - name="generate synapse config", -# commands=["/opt/venvs/matrix-synapse/bin/python3 -m synapse.app.homeserver -c /var/synapse/homeserver.yaml --generate-config --server-name chat.heizhaus.org --report-stats=no --generate-keys --keys-directory /var/synapse", - commands=[ - ## --generate-config and --generate-keys can't be in the same line/command - "/opt/venvs/matrix-synapse/bin/python3 -m synapse.app.homeserver -c /var/synapse/homeserver.yaml --generate-config --server-name chat.heizhaus.org --report-stats=no --keys-directory /var/synapse", - "/opt/venvs/matrix-synapse/bin/python3 -m synapse.app.homeserver -c /var/synapse/homeserver.yaml --generate-keys --keys-directory /var/synapse", - "touch /var/synapse/homeserver.yaml", - "cd /var/synapse", - ], -# ) - - #!!! change user to _synapse !!!# -# _su_user="matrix-synapse", -# _su_user="_synapse", - ) -# os.chdir("/var/synapse") - - ''' -[matrix] This account is currently not available. -[matrix] Error: executed 0 commands - ''' - -# creates="/var/synapse/homeserver.yaml", -# chdir="/var/synapse/", -# becom_user="_synapse", - - ## copy synapse config - homeserver_py_path = files_path +"homeserver.yaml" - exi = os.path.exists(homeserver_py_path) - if exi == True: - files.put( - name="copy synapse config", - src=homeserver_py_path, - dest="/var/synapse/homeserver.yaml", - ) - else: - print("file: \"" +homeserver_py_path +"\" dosn't exists") - - ## copy logging config - log_conf_path = files_path + "chat.heizhaus.org.log.config" - exi = os.path.exists(log_conf_path) - if exi == True: - files.put( - name="copy logging config", - src=log_conf_path, - dest="/var/synapse/chat.heizhaus.org.log.config", - ) - else: - print("file: \"" +log_conf_path +"\" dosn't exists") - - ## add synapse commands to PATH - dotprofile_path = files_path +"dotprofile" - exi = os.path.exists(dotprofile_path) - if exi == True: - files.put( - name="add synapse commands to PATH", - src=dotprofile_path, - dest="/root/.profile", - ) - else: - print("file: \"" +dotprofile_path +"\" dosn't exists") - - ## change owner for /var/synapse -# user_name = "_synapse" -# group_name = "_synapse" - user_name = "matrix-synapse" - group_name = "matrix-synapse" - server.shell( - name="chown -R " +user_name +":" +group_name +" /var/synapse", - commands="chown -R " +user_name +":" +group_name +" /var/synapse && chmod -R 0770 /var/synapse", - ) - - ## set server name - server_name = "chat.heizhaus.org" - files.replace( - name="set server name", - path="/etc/matrix-synapse/conf.d/server_name.yaml", - text="server_name: ", - replace="server_name: " +server_name, - ) - - ## enable and restart matrix - server.service( - name="enable and restart matrix", -# service="synapse", - service="matrix-synapse.service", - enabled=True, - restarted=True, - ) - -# server.shell( -# name="enable and restart matrix", -# commands="systemctl enable synapse && systemctl restart synapse", -# ) - - ## add synapse backup script - backup_sh_path = files_path +"borgbackup.sh" - exi = os.path.exists(backup_sh_path) - if exi == True: - files.put( - name="add synapse backup script", - src=backup_sh_path, - dest="/etc/daily.d/borgbackup.sh" - ) - else: - print("file: \"" +backup_sh_path +"\" dosn't exists")