/
and a basic healthcheck endpoint at /healthz
, to demonstrate how you can push out a public-facing app on Porter Cloud with a public-facing domain and TLS. The idea here is to show you best practices for how a sample application can be quickly deployed on Porter Cloud, allowing you to then use the same flow as an entry point for deploying your own Node.js project.
You can find the repository for this sample application here: https://github.com/porter-dev/nodejs-getting-started. Feel free to fork or clone it, or bring your own.
Create a new application
, which opens the following screen:
Account settings
and adding your Github account.heroku/builder:22
buildpack for our app.
web
, worker
and job
services.
Let’s add a single web
service for our app:
Resources
tab allows you to define how much CPU and RAM your app’s allowed to access. Porter Cloud imposes a limit on the resources that can be used by a single app. If your app needs more scalability and performance, it might make sense to look at Porter Standard instead, the Platform as a Service (PaaS) that allows you to bring your own infrastructure and have more flexibility regarding resource limits. You can also use cloud provider credits to cover the cost of each AWS EC2 instance and Azure VM when using Porter Standard, and you may need to be hosting on your own cloud to meet any security framework standards like SOC 2.
You can also define the number of replicas you’d like to run for this app, as well as any autoscaling rules - these allow you to instruct Porter to add more replicas if resource utilization crosses a certain threshold.
localhost
or 127.0.0.1
, Porter won’t be able to forward incoming connections and requests to your app. To that end, please ensure your app is configured to listen on 0.0.0.0
instead.Deploy
will show you the contents of a Github Action workflow that Porter would use to build and deploy your app:
Deploy app
will allow Porter to open a PR in your repo adding this workflow file:
Activity
tab on the Porter dashboard to see a timeline of your build+deployment going through. Once the build succeeds, you’ll also be able to see the deployment in action: