You really should try out the guy's Ansible playbook linked elsewhere in this thread. It automates setting up the database, the reverse proxy, the Let's Encrypt certificates, pretty much everything. You run a couple of git commands, a couple of ansible commands, and you're done. It's amazing.
woo, glad that it's getting better. riot should be as simple as cd /var/www/html && wget https://github.com/vector-im/riot-web/releases/download/v1.0... && tar -xzvf riot-v1.0.1.tar.gz :)
Footnote: IMO, the barrier for adoption for this kind of services has to be the lowest possible if it wants to gain any kind of traction. Mastodon and Peertube are good examples of this: docker-compose.yml in the project root, and in < 1 hour I got everything working by just setting a couple configuration values that were already in the environments section.
I figure that there is a lot of work going on right now so this might not be in the top priorities, but I really hope Matrix gets there soon.
Keep up the good work!