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! Stephen


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!