Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.
/ nownet-deploy Public archive

Tools for deploying code to now.sh and netlify.

Notifications You must be signed in to change notification settings

binygal/nownet-deploy

Repository files navigation

NowNet deploy

Tools to keep your side project running for free

NowNet deploy are set of tools used for deploying your side project to now.sh and netlify static website hosting server. While almost any other providers out there will take your money for hosting, those 2 providers will give you a good plan for free that you can easily upgrade when your side project is starting to earn some money.

How to use

Install the package

npm i -D nownet-deploy

Now create a new js file and add the following code

const nownetDeploy = require("nownet-deploy");

nownetDeploy(deploymentConfiguration);

Configuration object

When deploying a server there are many parameters to config. Most of the time you will have a different folder structure for server and client code and you want to deploy from different locations. Here are the supported property in the configuration object that passed to the deploy method.

Name Value
envVars Path fo the environment variables file.
serverDir relative path to the root directory of the server (the one that includes package.json)
clientDir relative path to the client root directory
clientConfigFile relative path to the client config file (This path should be relative to the clientDir)
deploymentBranch The branch configured by Netlify to deply from
serverPrefix Prefix given to server url by now.sh. The url will be- https://${serverPrefix}-yokbpkezbv.now.sh
logLevel Can be "debug" or "verbose"

Environment variables

Now.sh is open sourcing all of your code if you upload it to a free server. That's why nownet-deploy supports easy way to support them. Create a file with your environment variables in this fashion - variables are separated by new lines and each variable is written like that -

MY_ENVIRONMENT_VARIABLE=myValueToUse

provide the path to your environment variable file in the config object using envVars property.

Client Config File

While Netlify let you use your custom domain, now.sh does not, that means that on any deploy you want to change your client to point to the new server url received from now.sh. Your config file must have a single line in the following form so the deploy script can replace it -

const serverUrl = "https://yourServerHash.now.sh";

On deployment your serverUrl will be replaced by the real url something like const serverUrl = 'https://heymoserver-gyjchdhesde.now.sh';

Here is a suggestion for a config file -

const serverUrl = "https://heymoserver-gyjchdhesde.now.sh";
const config = {
  SERVER_URL:
    process.env.NODE_ENV === "development" ? "http://localhost:3001" : serverUrl
};

export default config;

About

Tools for deploying code to now.sh and netlify.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published