Advice on how to containerize my webservices on a Linux server with Docker?

I'm renting a server at waveride.at. Specs are:
4GB RAM, 50GB HDD, 4 CPU Cores, 2000GB/month Traffic, 1 IPv4 address, 1 /112 IPv6 subnet, gigabit upstream
Also, "you are expected to use less than 25% of your assigned CPU cores for 95% of the month".
€ 5.00/month

I'm currently running OpenVPN, Squid3, TeamSpeak3, GitLab and Nginx on it. And I will likely add some more in the future.
Now my question is if I could containerize all those applications with Docker, without exceeding the CPU usage and HDD space limits.

Another thing I'm planning to do is using nginx to route certain subdomains to specific applications. For example git.mydomain.com should route to gitlab and site.mydomain.com to a simple php website. And all that with only one IP.
My question for this is if I should install nginx in a seperate container or if I should install it on the server directly.

And what base images should I use for the applications? I only really used Debian so far, but it's quite big.

No one?

No Linux geeks around her?

Teamspeak and gitlab should not be that hard to get working in docker. The networking stuff would be trickier. I would keep openVPN and Ngnix running straight on the OS because you are less likely to have the OS fail rather than a container.

On CPU usage I am not sure how much it would use. Docker containers don't add much overhead, so if you are still far from your limit you should be fine.

On images, for simplicity there are preconfigured containers all over the place. I know git hub has quite a few.

@wendell is way more knowledgeable on this than I.

You might also check out gogs because gitlab has.. security problems. IIRC there is already a gitlab docker container though.

"My question for this is if I should install nginx in a seperate container or if I should install it on the server directly."

Container, for sure container. Because that's a weak link in the security. Check out Pound and FreeBSD even would be my recommendation. FreeBSD doesn't really work for the container, but you can still use pound in a debian container or whatever.

Docker is very little overhead.