OpenBSD Handbook

    Theme
    • Part I. Install & Configure
      • Introduction to OpenBSD
      • Installing OpenBSD
      • The X Window System
      • Networking on OpenBSD
      • System Configuration
      • OpenBSD Basics
      • Managing Software: Packages and Ports
    • Part II. Daily Operations
      • OpenBSD Desktop Environments
      • Multimedia
      • Printing
      • Linux Compatibility
      • Windows Compatibility
      • Games
    • Part III. System Administration
      • Virtualization
      • Storage and File Systems
      • Updating and Upgrading
      • Localization
      • The OpenBSD Boot Process
      • Security
    • Part IV. Networking & Daemons
      • Services
        • Database
          • MariaDB
          • PostgreSQL
          • Redis
          • memcached
        • Directory
          • YP (NIS)
          • LDAP
        • File
          • NFS
          • Samba
        • FTP Services
          • ftpd
          • ProFTPD
          • vsftpd
          • Pure-FTPd
          • TFTP
        • Mail
          • OpenSMTPD Mail Server
          • Dovecot IMAP and POP3 Server
          • Postfix
          • Exim
          • Rspamd
        • Name
          • Unbound DNS Resolver
          • NSD Authoritative DNS Server
          • BIND DNS Server
        • Networking
          • OpenBGPD
          • rad
          • DHCP on OpenBSD
          • slaacd
        • Web
          • Apache HTTP Server
          • nginx Web Server
          • OpenBSD httpd Web Server
          • relayd Reverse Proxy
        • Logging
          • syslogd
        • Monitoring
          • SNMP
        • Remote Access
          • Audit OpenSSH
          • OpenSSH Server
        • File Synchronization
          • rsync
        • Messaging
          • RabbitMQ Message Broker
        • Time
          • NTP Time Synchronization
      • PF
        • pfctl cheat sheet
        • PF Anchors
        • PF Filter Rules
        • PF Forwarding
        • PF Lists and Macros
        • PF Load Balancing
        • PF Logging
        • PF NAT
        • PF Options
        • PF Policies
        • PF Shortcuts
        • PF Tables
      • Advanced Networking
        • High Availability and State Replication
        • Multi-WAN and Policy-Based Routing
        • VPN and Cryptographic Tunneling
        • Classic and Lightweight Tunnels
        • IPv6 at Scale
        • QoS and Traffic Shaping
        • MPLS and Label Distribution
        • Network Services at Scale
        • Virtualization and Host Networking
        • Large-Scale L2 and L3 Design
        • Telemetry, Logging, and Flow Export
        • Hardening and Operational Safety
        • Reference Architectures
        • Troubleshooting Playbooks
      • Serial Communication
    • Part V. Miscellaneous
      • Virtualization Cheat Sheet
      • OpenBSD Cheatsheet
      • How-to Guides
        • Complete the First 30 Minutes After Installation
        • Check Hardware Compatibility Before Installing
        • Bootstrap Wi-Fi Firmware Without Ethernet
        • Set Up OpenBSD as a Laptop or Workstation
        • Configure Laptop Power Management
        • Run OpenBSD as a Virtual Machine Guest
        • Install OpenBSD on a VPS or Cloud Server
        • Install OpenBSD with Full-Disk Encryption
        • Troubleshoot Web Browsers on OpenBSD
        • Create an Administrator Account with doas and SSH Keys
        • Establish a Conservative Security Baseline
        • Manage OpenBSD with Ansible
        • Recover Access and Reset the Root Password
        • Collect OpenBSD Diagnostic Evidence
        • Configure Secure Remote Access with OpenSSH
        • Set Up WordPress on OpenBSD
        • Build Third-Party Software from Ports
        • Use FIDO Security Keys with OpenSSH
        • Build OpenBSD from Source
        • Configure Wi-Fi Roaming and Wired Failover
        • Dual-Boot OpenBSD on a UEFI System
        • Troubleshoot PF, NAT, and Routing
        • Automate OpenBSD Installation with Autoinstall and PXE
        • Route Multiple VLANs with PF
        • Configure a Road-Warrior WireGuard VPN
        • Troubleshoot Package Installation and Update Failures
        • Route IPv6 Networks without NAT
        • Schedule Recurring Maintenance
        • Plan a Docker Workload Migration to OpenBSD
        • Build a Mail Server with OpenSMTPD, Dovecot, and Rspamd
        • Build a Simple Router and Firewall
        • Monitor an OpenBSD System
        • Back Up and Restore an OpenBSD System
        • Configure softraid RAID1
        • Recover an OpenBSD System That Does Not Boot
        • Install Z shell (zsh)
      • OpenBSD for Linux Users
      • OpenBSD for FreeBSD Users
      • OpenBSD for macOS Users
    • OpenBSD FAQ
    • OpenBSD Architectures
      • OpenBSD Package Search

        synapse-1.161.0p0

        Package search / Categories / Current snapshot
        โ† Back to search
        OpenBSD branch
        OpenBSD 8.0 releaseCurrent snapshot

        Current snapshot ยท amd64

        open network for secure, decentralized communication

        Project homepage: https://matrix.org/

        Description

        Matrix specifies a set of RESTful HTTP JSON APIs as an open standard for federated Instant Messaging and VoIP (creating and managing distributed chat rooms without points of control or failure, cryptographically secure state synchronisation across an open network, etc). In Matrix, every user runs one or more Matrix clients, which connect through to a Matrix homeserver. The homeserver stores all their personal chat history and user account information. Synapse is a reference "homeserver" implementation of Matrix.

        Package information

        Ports path
        net/synapse
        Package architecture
        amd64
        Maintainer
        Renaud Allard <renaud@allard.it>
        Categories
        net, lang/python, lang/rust
        Available flavors
        None listed
        Only for architectures
        aarch64, amd64, riscv64, sparc64

        Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.

        Direct dependencies

        Runtime

        • devel/py-jsonschema STEM->=3.0.0
        • devel/py-rpds-py STEM->=0.25.0
        • devel/py-immutabledict
        • textproc/py-unpaddedbase64 STEM->=2.1.0
        • textproc/py-canonicaljson STEM-<3.0.0,>=2.0.0
        • textproc/py-signedjson
        • security/py-service_identity
        • devel/py-twisted
        • www/py-treq
        • security/py-openssl
        • textproc/py-yaml
        • devel/py-asn1
        • devel/py-asn1-modules
        • security/py-bcrypt
        • graphics/py-Pillow STEM->=10.0.1
        • devel/py-sortedcontainers
        • devel/py-pydantic
        • www/py-macaroons
        • net/py-msgpack
        • telephony/py-phonenumbers
        • sysutils/py-prometheus_client
        • devel/py-attrs
        • net/py-netaddr
        • www/py-jinja2
        • www/py-bleach
        • devel/py-typing-extensions STEM->=4.14.1
        • devel/py-pyrsistent
        • security/py-cryptography
        • textproc/py-ijson
        • devel/py-matrix-common STEM->=1.3.0,<2.0.0
        • sysutils/py-packaging
        • www/py-python-multipart
        • textproc/py-lxml
        • www/py-requests
        • devel/py-parsing
        • lang/python/3

        Build

        • devel/py-setuptools-rust STEM->=1.3.0
        • lang/python/3
        • devel/py-build
        • devel/py-installer
        • devel/maturin
        • devel/cargo-generate-vendor STEM->=1.1
        • lang/rust

        Test

        • net/synapse synapse-1.161.0p0
        • devel/py-mock
        • devel/py-parameterized
        • devel/py-parsing
        • devel/py-pyrsistent
        • www/py-jwt
        • devel/py-jsonschema STEM->=3.0.0
        • devel/py-rpds-py STEM->=0.25.0
        • devel/py-immutabledict
        • textproc/py-unpaddedbase64 STEM->=2.1.0
        • textproc/py-canonicaljson STEM-<3.0.0,>=2.0.0
        • textproc/py-signedjson
        • security/py-service_identity
        • devel/py-twisted
        • www/py-treq
        • security/py-openssl
        • textproc/py-yaml
        • devel/py-asn1
        • devel/py-asn1-modules
        • security/py-bcrypt
        • graphics/py-Pillow STEM->=10.0.1
        • devel/py-sortedcontainers
        • devel/py-pydantic
        • www/py-macaroons
        • net/py-msgpack
        • telephony/py-phonenumbers
        • sysutils/py-prometheus_client
        • devel/py-attrs
        • net/py-netaddr
        • www/py-jinja2
        • www/py-bleach
        • devel/py-typing-extensions STEM->=4.14.1
        • security/py-cryptography
        • textproc/py-ijson
        • devel/py-matrix-common STEM->=1.3.0,<2.0.0
        • sysutils/py-packaging
        • www/py-python-multipart
        • textproc/py-lxml
        • www/py-requests
        • lang/python/3
        • devel/py-test
        OpenBSD README

        This README contains unresolved ports variables; replace them before using its commands.

        +-------------------------------------------------------------------------------
        | Running synapse on OpenBSD
        +-------------------------------------------------------------------------------
        
        Generate a config
        =================
        
        As root (or _synapse), go into ${LOCALSTATEDIR}/synapse, then use
        doas -u _synapse ${MODPY_BIN} -m synapse.app.homeserver \
        	-c ${LOCALSTATEDIR}/synapse/homeserver.yaml --generate-config \
        	--server-name matrix.example.com --report-stats=no \
        	--keys-directory ${LOCALSTATEDIR}/synapse
        
        Register a user
        ===============
        doas -u _synapse \
        	/usr/local/bin/register_new_matrix_user \
        	-c ${LOCALSTATEDIR}/synapse/homeserver.yaml \
        	http://localhost:8008
        
        Updating the database after an upgrade
        ======================================
        On startup, synapse will fail to start if the database schema is too old.
        So, after an upgrade of synapse, you should update the database.
        It can be done with a command like this one:
        doas -u _synapse /usr/local/bin/update_synapse_database \
        	--database-config /var/synapse/homeserver.yaml \
        	--run-background-updates
        
        Configuration with TLS
        ======================
        
        By default, synapse will run without TLS on localhost:8008
        This means that you will not be able to connect to your server remotely.
        The best way to achieve remote connectivity is through a reverse proxy.
        
        Here is a relayd.conf(5) example:
        
          http protocol synapse {
            match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
            match request header append "X-Forwarded-By" value "$SERVER_ADDR:$SERVER_PORT"
        
            tls keypair "matrix.example.com"
        
            match request header set "Connection" value "close"
          }
        
          relay "synapse" {
            listen on matrix.example.com port 443 tls
            protocol "synapse"
            forward to 127.0.0.1 port 8008
          }
        
          relay "synapse-server" {
            listen on matrix.example.com port 8448 tls
            protocol "synapse"
            forward to 127.0.0.1 port 8008
          }
        
        Here is an Nginx vhost reverse proxy example:
        
            server {
                listen 443 ssl;
                listen [::]:443 ssl;
                ssl_certificate /etc/ssl/matrix.example.com.pem;
                ssl_certificate_key /etc/ssl/private/matrix.example.com.key;
                server_name matrix.example.com;
        
                location /_matrix {
                    proxy_pass http://localhost:8008;
                    proxy_set_header X-Forwarded-For $remote_addr;
                }
            }
        
            server {
                listen 8448 ssl default_server;
                listen [::]:8448 ssl default_server;
                ssl_certificate /etc/ssl/matrix.example.com.pem;
                ssl_certificate_key /etc/ssl/private/matrix.example.com.key;
                server_name matrix.example.com;
        
                location / {
                    proxy_pass http://localhost:8008;
                    proxy_set_header X-Forwarded-For $remote_addr;
                }
            }
        
        Used by (1 dependency relationships)

        Includes library, runtime, build and test dependencies.

        Package guides

        • Installing and updating packages

        Package details as JSON

        Report a bug