Sorry if this is not the place, but I am struggling to get help on this. Basically, I am trying to decide if and how Docker can be applied to a model, not massively different from the standard/legacy webhosting model… so:
- Billing system (could probably be 100% isolated so not too concerned about this)
- Application/main SaaS (think control panel)
- SFTP support for each user (locked down to specific directory)
- SSH support for each user (as above)
Im trying to establish how best to structure this using containers? So, one way might be:
- Each user gets their very own container with their own DB, storage and instance of an SSH/SFTP server all rolled into one.
However, something tells me this is resource intensive… and goes against ‘microservices’ thinking - so is there a way to do this perhaps like:
- Each user’s data (files + db for their own app settings etc) are store in a single ‘user data’ container/volume. Then somehow use single db, ssh and sftp server (seperate containers) to automagically map to those data containers on a per user basis via some orchestration layer? I get stuck when thinking about how to dynamically insert a new user? So, I assume I would spin up a user-data container/volume but dont want to restart all my top-level services every time someone signs up? do i?
I realise I could be overthinking it… and could just run as a legacy webhost would… giving each user their own folder on the host server and not even use Docker?
Any help. suggestions etc are most welcomed! (Diagrams especially so ;))