HowTo log in a VM with Ubuntu with a No-Ip Domain via internet

Witker

Active Member
Dec 3, 2020
126
6
38
Germany
Hi
I'm new with this server stuff
Maybe this is a natural question but I don't know HowTo

When you rent a VPS you get a domain and password to login to server (with fresh Ubuntu installation on demand)

I want to have exactly the same scenario for the VM in Proxmox.

Pls tell the steps to achieve this

1 Create a VM .....

Or is there a guide that describes what to do
THX in advance
 
Where do you want to login? To the Linux installed inside the VM? In that case you first need to install some kind of WebGUI like Webmin. If it is just one Domain on that public IP and you want only one VM you could edit the vhost entry of webmin in the webserver so it will listen on that domain.

If you only got 1 public IP but several (sub)domains that should point to different VMs you need to use a reverse proxy like this.
 
  • Like
Reactions: paxmobile
I think the nginx proxy manager is the easiest one to use. Its a ready to use docker container, so you need a unprivileged LXC or VM running docker. Its also possible to install docker directly on your proxmox like here but I think a unprivileged LXC would be better to backup or if you need to reinstall proxmox in the future. Portainer is a nice and "simple" docker GUI if you just install docker + portainer without HA cluster stuff like kubernetes or swarm.
Or you could run any apache, nginx, HAproxy as a reverse proxy but then you need to manually edit the config files to get these running and thats not easy.
 
I think the nginx proxy manager is the easiest one to use.
Yes I googled a lot to get info about Revers Proxies function CMANE DynDNS etc.

As I'm a newbie I want to keep things separate simple and understandable for me
I already do not really understand Docker and I sure will need This Proxy Manager I think for me it's better to set up minimal VM or CL and run only The Proxy manager there.

What do You think?

Is there a ready image for this?
Or an installation script that sets up nginx and the Proxy manager?
 
Last edited:
The problem is the configuration of the webserver to act as a proxy. If you dont know alot about webservers, headers, vhosts, namespaces, network and so on it is really simpler to just use the plug and play docker container "Nginx Proxy Manager" because you get a WebGUI thats configures the webproxy for you. Docker is programm to run and manage docker containers using CLI. If you install Portainer you can run and manage docker containers from GUI, so thats easier too. You just need to pick a good tutorial or howto on youtube on how to setup portainer on the OS of your choice and install that to a VM you create.
 
Last edited:
THX
As I have no experience could you pls. Be so kind ant let me know some data about the setup.
VM or CL
Disk size
Memory

I don't want to waste Disk space and memory but have the fastest response of the RP.
 
That depends...

Do you just want to run Nginx Proxy Manager or some other docker containers too?
If you also want to dockerize some other services that require mounted stuff like NFS shares a LXC is possible but not that easy to configure, because it needs to be an unprivileged container and many stuff like mounting is not allowed by default.
LXC would be more efficient because you got less virtualization and because of that less RAM, CPU and disk overhead.

You can change the memory at any time so just test what fits for you. And disk space isn't a real problem too, because it isn't that hard to increase the size later. Start with a small virtual disk like 16GB and if you need more space you can increase that later.

I'm running my two Docker LXCs with 2GB of RAM, 1 core and 64GB of disk space. I installed docker and portainer in a unprivileged LXC running a minimal debian install.
 
Last edited:
THX
I think to start is better to keep things separate.

So only the Reverse manager in a CL?
What would be the recommended
Disk size, Memory to start
for this configuration
what template can I use for the container
 
Last edited:
THX
I think to start is better to keep things separate.
Thats the only purpose of docker. It keeps thing separated by containerizing sevices so every service is encapsuled by its own docker container.
Its more separeted to run everything as a docker container then creating a LXC/VM for every task.
So only the Reverse manager in a CL?
Thats up to you. If you want stuff to be as separeted and ressource efficient as possible use docker for everything you will find a prebuild container for. If there is no docker container you like you can use a LXC. If you need to passthrough hardware or something like that a docker/LXC container can't do, create a VM. If you need total access to the hardware and VMs wont work because of that install the service directly on your proxmox host.
What would be the recommended
Disk size, Memory to start
for this configuration
what template can I use for the container
Like I said, try something like 2GB RAM and 16GB of disk space.
I used debian. That the template "debian-10-standard".

This tutorial might help you on how to install docker and portainer to a debian. Make sure you select the "unprivileged" option while creating that LXC and activate "keyctl" and "nesting" features after creation. You will find them there: "YourNodeName -> YourLXC -> Options -> Features".
 
Last edited:
  • Like
Reactions: alkinkasap
THX
on Reddit, I found:
No one will ever recommend you run it in an LXC though
Yeah. Running Docker in an LXC requires that the container be privileged, and there is no way in hell I would allow direct access from the internet to a privileged container - the right combination of exploits and your entire Proxmox system can be accessed.

If you have to run Docker virtualized, you should do it in a VM - Linux VMs are light weight enough - and you absolutely should do it in a VM if that Docker instance is exposed to the net.

So I'm really confused as a newbie

What do you think I should do?
 
THX
on Reddit, I found:

Yeah. Running Docker in an LXC requires that the container be privileged, and there is no way in hell I would allow direct access from the internet to a privileged container - the right combination of exploits and your entire Proxmox system can be accessed.

If you have to run Docker virtualized, you should do it in a VM - Linux VMs are light weight enough - and you absolutely should do it in a VM if that Docker instance is exposed to the net.

So I'm really confused as a newbie

What do you think I should do?
No, my Docker-LXC is running unprivileged like I said and not privileged. If overhead and efficiency is not problem and you want the maximum isolation you also can run docker inside a VM. In that case I would add 1 GB more of RAM.
 
Last edited: