-
Notifications
You must be signed in to change notification settings - Fork 89
Add instructions to deploy on Ubuntu 18.04 #425
Conversation
@mepa1363 thanks for the perfect instructions! what do you think about creating a separate deployment directory and putting all those files there? The root directory is becoming pretty messy. I'm suggesting following:
|
@michaelmcmillan could you review this? |
Great idea! We've used a similar setup for all of our sites, which has made it very easy to roll out new versions at the same time. We're currently hosting 14 sites. nginx + letsencrypt for reverse proxy and SSL certs:
systemd to keep the node process alive:
|
@sbocinec @michaelmcmillan Here is my 2 cents. I like the idea of having a designated directory for deployment configs. However, I don't think having separate directories for different deployment strategies makes a ton of sense. My goal was to have a section for deployment in the main README for the folks to follow and easily deploy their solution. The deployment instructions should be categorized based on tech stack rather than the domain-specific deployments - examples could be Ubuntu, Heroku, Docker on AWS, etc. |
@mepa1363 thanks for your view. This is not my project, I'm only a regular contributor too, so take mine opinion only as a suggestion, not official statement, i'm not in charge to decide on this :-) I agree with you that all the files are only examples, one of the many ways how the app can be deployed. There are people who use nginx, people who use apache, people use systemd and don't need another process management (pm2), people who run it using docker, people who do use Let's Encrypt, people who don't LE or can't being behind Proxy/WAF not being able to do HTTP-only validation, etc... I don't think the deployment examples (nginx vhost files, pm2 example, example systemd unit file, traefik config, etc) should be all stored in the project's root dir as they will only confuse users - that was my main point. I propose to organize and group all of these I also agree we can find better naming. Do you have any concrete idea how to name/change the directory structure? Or do you insist on keeping those nginx- and pm2- example files in the root? PS. I don't want to spend yours, mine and others energy on long conversations, there are other interesting issues to work on ✌️ |
Yeah agreed 💯 I don't really know the best way to do it either 😅 maybe we could have directories inside the |
Perfect! I actually find your deployment solution elegant and will gladly try similar approach in future 👍 To somehow move things forward, I suggest following:
Thank you for the discussion! |
This PR adds instructions on how to deploy your app on an Ubuntu 18.04 server. The app will be served securely by Nginx and managed by PM2. HTTPS certificate is provided by Let's Encrypt for free.