Single VPS with Publicly Accessible Containers

Boric

New member
First off, let me start by saying I am no expert in server talk. I've been teaching myself as I go along, and I really only know some basics.

I am trying to consolidate all of my many single instance VPS's and put them into a single VPS.

Each VPS I currently have runs a simple stack for serving WordPress.

- Ubuntu 18.04 LTS
- PHP/7.2
- MySQL
- Caddy HTTPS/2 server engine
- Fail2Ban

Each runs with 25gb SSD drive (I only need ~5gb per website) && 1GB of resource RAM. For me, these resources are great. But running close to 10 websites is around 55$ a month (Vultr) . Instead, I would like to try out a service (SSD Nodes) that is offering these specs/price:

16GB RAM
80GB SSD
04 vCores
8.0TB Bandwidth
40GB I/O

All for ~ 9$ a month (if you purchase a 3 year plan) ~11$ a month (if you purchase a 1 year plan)

I would use this single VPS to run Ubuntu 18.04 and then use LXD/LXC to provision containers that can then house each website individually.

Each container can then be limited to whatever resources I would like (within the single VPS limits). This would save me money, allow me room for more websites/projects down the road, and create a more manageable interface for maintenance.

Here's a sample overview of what I'd like to accomplish.


Host Machine--

[container01]
[container02]
[container03]
[container04]

[snapshot of clean stack install for easy resetting/re-deployment]

________________________

I have tried this set-up in a local test environment as well as a test live environment and I cannot seem to find a fix for my issue.

My only issue with trying this set-up is that I cannot get my newly created containers to be passed through the main IP address to be able to access each container publicly. I created each container and changed the default bridge to utilize 'macvlan' which effectively assigns them 'physical' addresses. However, these 'physical' addresses are only useful for internal use as they are '10' based IP addresses and cannot be accessed publicly.

This is where I get lost and I have not been able to find a solution :(

Would anyone here be able to advise me in this particular case? Or do I have to scrap this whole idea since it just would not work?

Thank you,
Boric
 
Is there any particular reason you need that level of complexity with your setup?

Not saying it's wrong as having them in individual containers will give you far more control than anything else but you do then have multiple containers to keep patched, updated and secured.

Are you using public IP address space for both the host machine and the containers, or are you trying to NAT them?
 
An openVZ box like SolusVM or ProxMox should do what you are after out of the box.
OpenVZ will run install Xen, KVM or VMWare etc
 
From what I understood, you want flexibility over the resources so you want to go for containers.

I suggest you to disable the default LXC bridge and try to create bridge on the host machine with static IP and then configure the containers to use the new bridge.
 
Back
Top