I mean Element's website says very little about installing it and encourages using mobile apps which require going through the app store, while GitLab has all kinds of resources for self-hosting. They do try to steer you to self-hosting the ee version though.
GitLab: all the things https://about.gitlab.com/install/ at the bottom is the Debian package, but if you go to the Docker Page and click the username you can see gitlab-ce there as well.
Gitlab and Element's website structure is different. element.io is the site for the managed product, so even their "on-premise" installer is meant to be used in a commercial relationship. For install docs you'd probably have to purchase their product (which isn't available freely).
TLDR, check out the project, run `yarn install`, then edit the config file, then `yarn build`.
And, yes, that is all there is to it. It's significantly simpler to deploy than GitLab.
Finally, you keep mentioning self-hosting; you _can_ just use a non-self hosted application like the downloadable version of Element, SchildiChat, Fluffychat, or any other client.
No reason to bring hosting into the mix for the client, if that's causing concern.
You yourself say in a different comment that you are currently assessing Element:
https://news.ycombinator.com/item?id=34779070. Either you have a formed opinion Matrix, or you don't. Which one is it?
You keep saying Element instead of Matrix, and obviating the whole Matrix ecosystem. Matrix protocol has several server implementations, and many more things around:
https://matrix.org/docs/projects/try-matrix-now
Element is a for profit company that creates one set of clients and a hosted service for the matrix protocol. To find alternatives, look at https://matrix.org/discover/