Generate a config:
Go into /var/synapse, then
doas -u _synapse python3 -m synapse.app.homeserver \
	-c /var/synapse/homeserver.yaml --generate-config \
	--server-name matrix.example.com --report-stats=no \
	--generate-keys --keys-directory /var/synapse

By default, synapse will run without TLS on localhost:8008

Register a user:
doas -u _synapse register_new_matrix_user -c /var/synapse/homeserver.yaml  http://localhost:8008 

Nginx vhost reverse proxy examples:
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        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;
        server_name example.com;

        location / {
            proxy_pass http://localhost:8008;
            proxy_set_header X-Forwarded-For $remote_addr;
        }
    }


