Host your App by uploading your project folder from the dashboard

NodeChef managed web app hosting greatly simplifies modern application hosting. This document provides steps on how to host an app written in PHP, Java, JVM-Based languages, Ruby, Python, Golang, .Net Core and Elixir together with a MongoDB, MySQL or PostgreSQL database in three easy steps.

  • 1
    Deploy your cluster

    Log in and navigate to the Dashboard. Click on deployments and complete the form. You will be required to select the size of your container and the region where your cluster is to be hosted.

  • 2
    Environment variables

    If you will like to launch your app with custom environment variables follow the below steps.

    • Create a file in the root directory of your app with name env.json. Env.json is completely arbitrary you could name this file with a name more suitable for your use case such as; env_dev.json or env_prod.json
    • Edit the file using the JSON syntax below and save the file. SOME_API_URL is only for demonstration purposes.
      { "SOME_API_URL": "https://this-is-just-an-example.com" }
  • 3
    Upload your project

    After your cluster is deployed in Step 2. You will will be able to upload your project folder or the build output such as JAR, WAR or ZIP to your App containers.

    If uploading your project folder you must first zip all the contents in your project folder or use a tar archive with gzip compression to bundle all the files in your project folder. You can then upload this bundle. To speed up the upload process, do not include hidden folders and files such as ".git" as part of your project bundle.

    The ZIP, JAR, WAR or TAR.GZ archive cannot exceed 256 megabytes in size. You can always find the form to upload your project from the dashboard by navigating to Deployments → Deployed Apps → Cluster Actions → Deploy app

    On the upload form, select the language or framework (PHP, Java, JVM-Based languages, Ruby, Python, Golang, .Net Core and Elixir) in which your applicaiton was developed. If you want to deploy your App with environment variables created in the previous step, select the file which contains them using the Environment variables choose file control on the upload form.


    Upload your node.js project


    Optional Application start command

    In some cases, you might want to customize how the NodeChef runtime starts your application. NodeChef supports using a Procfile to accomplish this. You must create a Procfile in the root folder of your application. If a Procfile is not included, the platform uses a default start command for the language you are using.

    # An example Procfile for a Ruby app web: bundle exec puma -C config/puma.rb

    NodeChef can also detect your manifest.yml typically used for cloud foundry deployments. The command property under application will be auto detected by the platform if present and will use it as the start command.


    Optional Buildpack documentation reading

    Although you are not required to read the documentation of a buildpack to deploy on NodeChef, the documentation will help you understand the runtime customizations you can possibly make such as: If you want to install a specific version of the Java runtime, PHP, erlang and other platform configurable settings.

    On NodeChef, the root folder of your app in the executing container, that is the $HOME directory is always "/bundle". Please take note of this if you are migrating from another platform and you have hard coded the root directory.