By sarogersz
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:
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:
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:
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
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
I know it’s been quite a while since the question was originally posted, but I would like to post an answer in case someone runs into it now in 2023.
Here are some thoughts and recommendations:
Containerization with Docker
I agree that containerization is a good choice for your application, even at this early stage. Docker makes it easy to package and deploy your application and its dependencies in a consistent and reproducible way. You can create separate containers for your Vue.js front-end and your Express/Axios API, which will make your application easier to manage and scale in the future.
SSL for Deployment
Yes, you should definitely use SSL for your deployment. SSL encrypts all data transmission between your users and your application, which is essential for protecting their privacy and security. You can obtain an SSL certificate from a certificate authority or use Let’s Encrypt, which provides free SSL certificates.
Database Server
Whether to use a single Droplet for both MariaDB and your Vue.js app or separate them depends on a few factors, including:
Pushing Data from Remote Devices
If you’re dealing with data being pushed from remote devices to your server, it’s a good practice to keep this functionality on your back-end server (Express/Axios API). This ensures that the data goes through your application logic and is properly processed and stored in your database.
Tools and Techniques
Here are a few tools and techniques you may want to consider:
Getting Started
As you’re new to deploying web applications, I recommend breaking down these tasks into smaller steps and learning one thing at a time. Start with containerization, get your Vue.js app and API running, and gradually move on to SSL, database setup, and so on. DigitalOcean has a wealth of tutorials and documentation to help you at each step of your deployment journey.
Testing and Launch
Once you have your deployment setup in place, be sure to thoroughly test it before launching the alpha version. This will help you identify and resolve any potential issues before your users start using the application.
Hope that this helps!
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.