Check out either Ray Wenderlich or Brackeys tutorials, they’re pretty good.
The key step is that the “Content” GameObject (or specifically the size of its RectTransform) is what is used to control the size of the scroll area. If you add tons of stuff under that RectTransform, and yet do not extend its boundaries to enclose the content, well, it won’t be as big as you think it is.
Fortunately there is a ContentSizeFitter component you can stick on it, and it will “envelop” whatever goodies you stick inside it. You can also use other layout stuff, such a GridLayoutGroup or VerticalLayoutGroup, etc.
“Content was returning to the top right after I release mouse button”
There is no such feature built into ScrollRect. But you coudl script this using verticalNormalizedPosition of ScrollRect and its drag handlers (IDragHandler, IEndDragHandler).
“can anyone make me a “tutorial” on how to make step by step something like this”
I’m quite sure no one is going to make you a tailor-made tutorial… but if you google, you can find at least few tutorials about how to make some sort of in-game console. IIRC “Game Dev Guide” YouTuber had pretty good tutorial.