installing parse dashboard on amazon aws elastic beanstalk (or locally?) - node.js

I have been following this
guide to installing Parse Server on Amazon AWS with Elastic Beanstalk, and the set up is working fine, however that particular guide only addresses the installation of Parse Server and not the Parse Dashboard, which I would also like to have set up.
Being as Parse is a Node.js app, I was hoping I could get away with "npm install -g parse-dashboard" through the command line, but seeing as the changes on the instance might be overwritten by the load balancer I am not sure this is the right path.
I do know that Amazon has an EB CLI that can be used to install applications but I am not sure if that is the best/simplest way either?
What I would like is the easiest way to install Parse Dashboard and connect it with my AWS EB set-up, and I would also like for the Parse Dashboard to be easily updated when changes are made available through Github.
So my question really boils down to two alternatives, as I see it;
1) Should I install the Parse Dashboard on AWS, if so - what would be the best way to do this?
2) Can I perhaps set up a local install of the Parse Dashboard and connect it to my Parse Server hosted on AWS EB? If so, what would be the recommended method of doing this.

For question 1, you don't want to put the dashboard in public domain. Parse dashboard gives full access to modify your database.
If you still want to do it, it can be done just like the parse-server. Once you have clone the repository add an app.config file under /your_project_folder/.ebextensions/app.config with the following content:
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
and then follow this guide.

Related

500 error when I try to deploy nextjs ssg application with incremental-static-generation

I have NextJS app with SSG. This functionality was added recently and according to it I should do next-export after next-build to get static files. But after appearing in 9.4 of Incremental Static Regeneration I need to keep server on by npm-start command (in my case I use custom server file with next-express functionality). It works good locally and It works good when I get artifact from Azure. But It doesn't work globally when it will be deployed finally. Help please
Through my attempts, I found that it is impossible to install globally or use next in Azure Web App. That is, it cannot be deployed through Github.Deploying using other methods such as FTP cannot run successfully. It should be related to the azure node environment.
But the method provided in this post says that it can be processed by adding web.config. I think it should be useful and helpful to you. Please read it carefully and try it.
You also can read this document, maybe it useful to you.

OpenShift - Application packaging

I have a NodeJS API that sits behind a Nginx reverse proxy and connects to a Redis instance. To deploy this on to OpenShift cluster, I need the following:
Nginx image e.g. registry.access.redhat.com/rhscl/nginx-114-rhel7
Redis image e.g. registry.redhat.io/rhel8/redis-5
NodeJS code hosted on GitHub
I am not sure if OpenShift Operators and Helm Charts are the right choice - they sound like an overkill (or, are they?). Then, there are YAML based installations e.g. Strimzi on OpenShift.
Given a OpenShift cluster with oc installed, perhaps, there is yet another way; where, all of the following commands are wrapped in a shell script.
git clone https://github.com/me/nodejsapi
oc new-project awesome
# Trigger S2I for NodeJS
cd nodejsapi
oc new-app .
# New applications with nginx image
oc import ...
# New applications with redis image
oc import ...
# New config map set-up through [OpenShift APIs][6]
curl ...
Can you please advise the suitable approach to install the NodeJS application and others?
If you ask me creating an Operator for this is overkill. Using a Helm chart is more of the correct abstraction. The easiest solution on OpenShift is to to use a Template.
For me if your app need many pods with different technologies, the right choice is helm chart. But, if you don’t want use it, an alternative is to use a deployment file in yaml or json.
Here an example for SQL Server 2019
https://github.com/chauuy/sqlserver.git
Note: a template file is also available to add SQL Server ephemeral (without persistent storage) as new component like MySQL etc...

AWS: How to reproduce NodeJS project?

I need help with someone familiar with AWS and web servers. Currently I'm walking through this tutorial trying to get started with NodeJS and AWS. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html
I'm trying to figure out how to essentially do a "git clone" of a traditional project but do whatever equivalent that is for an AWS project (ex: If I wanted to work on my existing AWS project on a different machine)
I read some EB CLI documentation (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cmd-commands.html). I tried the "eb clone env-name". However, this actually created a separate environment on AWS within my application, which isn't what I wanted. It also only added a .gitignore and a .elasticbeanstalk folder to my directory, none of my source code for my AWS application.
I'm confused on what the standard process is for working with AWS projects. Particularly, how can I start working on my existing AWS project from another machine? (Is there anyway to pull my source code from AWS project?) Is there anyway I can view my code on AWS?
Side note: In the past I worked with Google Apps Scripts on the cloud, which used Clasp CLI for pushing and pulling code to the cloud. This was very intuitive because it was literally clasp pull to pull code from cloud and clasp push to push code to it.
Elastic Beanstalk isn't a code repo. It's a way to host applications in a simplified way, without having to configure the compute resources. Compare this to something like EC2 where all the networking and web server configuration is manual.
You can still use git to manage your source code, and there's git CLI integration with Elastic Beanstalk too. Once you've got your source code working, you bundle it up into a .zip file and upload it to EB. You can also use AWS CodeBuild to watch git repos, build source code into bundles, and automatically deploy it to Elastic Beanstalk.
If you are looking for a way to host source code on AWS, AWS CodeCommit is the managed git solution.
You should take a look at the Amplify Framework by AWS: https://aws-amplify.github.io/docs/ – here's a walkthrough that will get you were you are heading faster – sure, it mentions teams but, the result can be applied to single developers too: https://aws-amplify.github.io/docs/cli/multienv?sdk=js
Since you mentioned "view my code on AWS", you should have a look here: https://aws.amazon.com/cloud9/ – this will walk you through setting up an account, repos and working with your code on the cloud.
Good luck!

Register, login, logout Website with Node

I'm currently moving on with reading about node. I'm getting through the tutorials well using the command line. However I am thinking ahead and I want to create a simple register, log in and log out website.
Where would I place the node files on a server (all examples I see run from local host:3000)?
What is the best tutorial for creating this type of website from scratch with node?
Thanks in advance!
It doesn't really matter where you put the files on the server. The localhost:3000 bit comes from the fact that your core server file tells the server to listen on that port.
I would recommend using the express-generator from npm. It's pretty versatile and does a lot of the leg work.
Just run the following:
npm install express-generator
After installing, you'll need to just run the following to create a new web app:
express
The details are here: http://expressjs.com/starter/generator.html.
Also, try to read through and understand all of the pre-provided code.

With Windows Azure, can I deploy a node.js server using Dropbox?

There are several tutorials on Azure showing how to deploy a node.js server using git. Azure has a nifty feature where you can link a Dropbox folder to an Azure web site for very simple deployments. Works awesome for websites, but I was hoping it might work for node.js deployments as well.
It doesn't seem to work- the deployment process goes fine, but navigating to the URL of the node.js deployment produces this error:
The page cannot be displayed because an internal server error has occurred.
Anyone know if it's possible to deploy a node.js server to Windows Azure via Dropbox?
Many thanks-
UPDATE-
Just ran through the deployment logs and found this line:
The package.json file is not present.
The node.js application will run with the default node.js version 0.6.20.
Perhaps that it explains my problem?
from the console and folder type "npm init" to generate package.json

Resources