Soliciting Advice on First DO Alpha Deployment of VueJS Full Stack Web App
I have a VueJS app that is running on my dev system, and in prep for alpha release I am starting to look at the best approach for implementing a login/user account system. I have not implemented this part of a web app personally before.
For the alpha, I will deploy to DO and expand access to a small set of alpha users (10 or so), with a process for regular updating of the app for fixing bugs and adding features. It is a pretty standard VueJS full stack web app:
- Vue 2
- Express / Axios API
- MariaDB database
I have a DO Droplet configured with 1 GB Memory / 25 GB Disk / SFO2 - Ubuntu 20.04 (LTS) x64. I have a domain name configured. I have deployed my app there before for learning the ropes and testing, but that was fumbling around with a prototype and up until now I have just been building and testing on my dev system. I am intrigued with Docker but am not sure if that is what I should be using at this early stage.
I’d like to start anew in terms of incorporating a good approach and install the stack with an eye to:
- The app is primarily a data reporting/analytics application.
- The data makes its way into the system through a combination of user data entry and direct pushing through the API from remote devices, which collect it from meters and sensors.
- in the future some mashup will be done, collecting data from online web services.
- User login/authentication subsystem is not currently implemented, but the web app will be expanded before alpha starts to have that (the foundations for separation of data between users is partially laid).
- I also want to install SSL before alpha commences.
- During the alpha phase, I will be building an administrative app and that will be deployed for beta.
With the above in mind, I would appreciate advice or links to appropriate approaches/methodologies/tools for taking these next critical steps.
I am impressed with DO and that is a decision already made, but other questions would be:
- Should I start out with containerizing via Docker?
- Is there any reason I shouldn’t incorporate SSL for this first deployment?
- Can I just use a single Droplet for both MariaDB and the VueJS app? or should I use a separate Droplet for MariaDB?
- For pushing to cloud from devices, can the back end run effectively on the VueJS droplet or (in the case that a separate MariaDB droplet is recommended) the database server?
- What other tools and techniques should I be aware of?
I’ve been developing the app for about a year, but don’t have a lot of experience with deploying to the web (I’ve mostly done corporate apps).
Thanks much for any pointers!