<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[NodeChef Blog]]></title><description><![CDATA[Tutorials, Tips, and Perspectives]]></description><link>https://blog.nodechef.com/</link><image><url>https://blog.nodechef.com/favicon.png</url><title>NodeChef Blog</title><link>https://blog.nodechef.com/</link></image><generator>Ghost 2.9</generator><lastBuildDate>Thu, 09 Apr 2026 19:15:54 GMT</lastBuildDate><atom:link href="https://blog.nodechef.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[How to use Mongo shell to browse and manipulate your data]]></title><description><![CDATA[<p>Mongo shell is a tool bundled with the MongoDB server (mongod) to perform simple CRUD on your database from the command line. You will find this tool with name "mongo" in the same folder as the server binary "mongod". Although most people might opt to go with a GUI based</p>]]></description><link>https://blog.nodechef.com/how-to-connect-to-your-mongodb-database-from-your-app-and-mongo-shell/</link><guid isPermaLink="false">5c7ef93a75c008000f3eb418</guid><dc:creator><![CDATA[NodeChef Team]]></dc:creator><pubDate>Wed, 06 Mar 2019 13:06:12 GMT</pubDate><content:encoded><![CDATA[<p>Mongo shell is a tool bundled with the MongoDB server (mongod) to perform simple CRUD on your database from the command line. You will find this tool with name "mongo" in the same folder as the server binary "mongod". Although most people might opt to go with a GUI based tool, we still believe mongo shell is a very robust and straight forward tool to use. At NodeChef, we only use mongo shell internally without any GUI tools. Mongo shell gives us all we need to work with MongoDB. </p><p>In this article, we will assume you currently have a MongoDB database running and you have the connection string. Your database does not have to use NodeChef <a href="https://www.nodechef.com/mongodb-hosting">MongoDB hosting</a>, this article should apply whichever cloud your database is housed in. </p><h2 id="connection-string-format-">Connection string format.</h2><p>Your database connection string will typically look like this:</p><div style="border: solid 1px #e2e2e2; border-radius: 4px; padding: 10px 15px">
mongodb://username:password@host1.nodechef.com:27017,host2.nodechef.com:27017/dbname
</div><p></p><p>The above connection string is what you will get if you are running a replica set. If you are running a single instance, your connection string will look like this:</p><div style="border: solid 1px #e2e2e2; border-radius: 4px; padding: 10px 15px">
mongodb://username:password@host1.nodechef.com:27017/dbname
</div><p></p><p>When we have multiple hosts, that is a replica set, we will have to connect to each host in the connection string to figure out which one is the primary and then use it. The primary reflects the current state of your data and you should always use the primary when working with your data. For single instances, we simply connect to the host and that should be our primary.</p><h2 id="using-mongo-shell">Using Mongo Shell</h2><p>Depending on the operating system, and also how you installed MongoDB, the folder in which the binaries was installed will already be added to the OS PATH variable. The PATH variable simply is a list of folders where the command line will search for programs you attempt to launch which is not in the current working directory.</p><p>Determine if mongo shell is in your path by typing "mongo help" from your terminal or CMD. If you get a command not found error, this means you will have to add the folder containing the MongoDB binaries to your PATH variable yourself. For Windows operating systems, MongoDB is typically installed under "Program Files" -&gt; "MongoDB". Find the bin folder under the MongoDB directory and that should contain the "mongo.exe" file and just "mongo" for Linux and Mac users. <a href="https://www.computerhope.com/issues/ch000549.htm">This article</a> should provide you with all the details on adding the bin folder to your PATH folder for windows users and <a href="https://docs.oracle.com/cd/E19062-01/sun.mgmt.ctr36/819-5418/gaznb/index.html">this article</a> for Mac and Linux users. After you have added the folder, you must close and launch command prompt or terminal again.</p><h2 id="initiating-the-connection-to-the-server">Initiating the connection to the server</h2><p>On the command line, you can use the command as shown below to connect to your MongoDB server. If you have a replica set, you can simply change the part which says "host1.nodechef.com:27017" to "host1.nodechef.com:27017" to connect to the other server in the replica set.</p><div style="border: solid 1px #e2e2e2; border-radius: 4px; padding: 10px 15px">
mongo host1.nodechef.com:27017/dbname -u username -p password
</div><p></p><p>Once connected and we are on the primary, we should see something similar to the image below on our terminal. </p><figure class="kg-card kg-image-card"><img src="https://oss.nodechef.com/ncblog/2019/03/Untitled.png" class="kg-image"></figure><p>The value "PRIMARY" indicates we are connected to the primary member in the replica set and we can go ahead and use it. If it said "SECONDARY" instead, you will want to exist and connect to the other host to find the replica set. If your server is not a replica set at all, that is a standalone instance, you will see neither "PRIMARY" nor "SECONDARY". This is completely fine as the instance is not part of any replica set.</p><h2 id="running-commands">Running commands</h2><p>Once connected, you can run commands to view edit and delete your data. For a quick reference on available commands, you can review <a href="https://docs.mongodb.com/manual/reference/method/#js-administrative-methods">this document</a>. You can use the command "<strong>show collections</strong>" to view all your collections in the current database. You are now all set to use mongo shell.</p><h2 id="conclusion">Conclusion</h2><p>You can always run "mongo help" on your terminal to view all the parameters available when connecting. This can be useful if your database server requires clients connect using TLS.</p>]]></content:encoded></item><item><title><![CDATA[How to secure your website with Let's Encrypt the easy way]]></title><description><![CDATA[<p>SSL certificates are now completely free and NodeChef's managed cloud hosting service takes care of installing and renewing SSL certificates for your website irrespective of your development platform. From Apache based PHP web servers, WordPress websites to Node.js web servers we support them all on NodeChef using a container</p>]]></description><link>https://blog.nodechef.com/how-to-secure-your/</link><guid isPermaLink="false">5c7eb2ea75c008000f3eb3d2</guid><dc:creator><![CDATA[NodeChef Team]]></dc:creator><pubDate>Tue, 05 Mar 2019 18:07:26 GMT</pubDate><content:encoded><![CDATA[<p>SSL certificates are now completely free and NodeChef's managed cloud hosting service takes care of installing and renewing SSL certificates for your website irrespective of your development platform. From Apache based PHP web servers, WordPress websites to Node.js web servers we support them all on NodeChef using a container based architecture. On your end, you do not have to deal with low level stuff such as logging into Ubuntu or Windows Server and having to install Certbot to secure your website. Just enter your website domain, click save and your certificate is created and installed for you. That's it.</p><p><strong>Prerequisites</strong></p><p>In order to complete this guide, you must have your website running on the NodeChef cloud hosting platform. You must also configure at least the base domain for which you want to secure. For more information on adding a custom domain, you can reference the <a href="https://www.nodechef.com/docs/buildpacks/global/domains">documentation page</a>.</p><h2 id="create-the-ssl-certificate">Create the SSL certificate</h2><p>Log in to your NodeChef dashboard. On the Task Manager, click on App actions for your website and then click on SSL settings.</p><figure class="kg-card kg-image-card"><img src="https://oss.nodechef.com/ncblog/2019/03/ssl_settings.png" class="kg-image"></figure><p>On the SSL Settings section. Enter the list of domains you want to secure. You can enter multiple domains and sub domains. Separate each domain on a new line as seen below. For example, if your base domain is "example.com" and you want to secure "www.example.com", "blog.example.com" and "forum.example.com", you will enter them as seen below separating each on a new line. Click on the Save changes button. Once you click this button. NodeChef will create and install the certificate for your website behind the scenes. The process can take up to a minute or so to complete depending on the number of domains you entered.</p><figure class="kg-card kg-image-card"><img src="https://oss.nodechef.com/ncblog/2019/03/ssl_settings-1.png" class="kg-image"></figure><p>At any point in time, you can add more domains and create the certificate again.</p><h2 id="renewing-the-ssl-certificate">Renewing the SSL certificate</h2><p>NodeChef takes care of renewing the certificate automatically on your behalf once it is created. Your certificates typically expire every 3 months. NodeChef will renew 15 days before the certificate expires. We send you an email every 3 months when the certificate is renewed. If the renewal fails, NodeChef will send an email about this as well.</p><h2 id="conclusion">Conclusion</h2><p>In this guide, we saw how easy it is to secure your website with a free SSL certificate that renews automatically without any intervention from your end. This approach is more efficient and and straight forward than having to manage this process yourself on say AWS or DigitalOcean or rolling out your own solution which you still have to maintain. If you wish to know more about the <a href="https://letsencrypt.org/">Let's Encrypt certificate authority</a>, you can check out their <a href="https://letsencrypt.org/blog/">blog</a> to stay up to date with all their initiatives.</p>]]></content:encoded></item><item><title><![CDATA[How to change the maximum upload file size for PHP scripts]]></title><description><![CDATA[<p>Some PHP applications that process large files require specific php.ini directives configurations to ensure their app can accommodate file sizes larger than the default 128 megabytes. In other cases you may want to reduce the default value to satisfy application constraints. On NodeChef, since your PHP application is fully</p>]]></description><link>https://blog.nodechef.com/how-to-change-the-maximum-upload-file-size-for-php-scripts/</link><guid isPermaLink="false">5c7d95eb75c008000f3eb38e</guid><dc:creator><![CDATA[NodeChef Team]]></dc:creator><pubDate>Mon, 04 Mar 2019 21:44:02 GMT</pubDate><content:encoded><![CDATA[<p>Some PHP applications that process large files require specific php.ini directives configurations to ensure their app can accommodate file sizes larger than the default 128 megabytes. In other cases you may want to reduce the default value to satisfy application constraints. On NodeChef, since your PHP application is fully dedicated in a docker container, you can change these settings at anytime from the dashboard.</p><h2 id="changing-the-maximum-upload-file-size">Changing the maximum upload file size</h2><p>You need to change the <strong>upload_max_filesize</strong> and <strong>post_max_size</strong> directives. Both directives are explained below:<br><br><strong>post_max_size</strong><br>This directive specified as an integer is the largest amount of bytes that can be sent in the request body of an HTTP POST request to your server. This value must be less than the memory capacity of your NodeChef container and slightly larger than the upload_max_filesize value.<br><br><strong>upload_max_filesize</strong><br>Used to specify the maximum size of a file that can be uploaded to your server.</p><p>On NodeChef, to make these changes. Log into the dashboard. On the task manager, click on the App actions button of your app and then click on PHP developer. Under php.ini directives you can set the two values separated by a new line as seen below in the provided textbox. Click on the commit changes button to save your changes and then deploy your application again for the changes to take effect.</p><div style="border: solid 1px #e2e2e2; border-radius: 4px; padding: 10px 15px">
upload_max_filesize = 256M<br>
post_max_size = 258M
</div><p></p><figure class="kg-card kg-image-card"><img src="https://oss.nodechef.com/ncblog/2019/03/ghost_php_ini.png" class="kg-image"></figure><h2 id="more-information">More information</h2><ul style="margin-top:0px;padding-top:0px">
    <li>
For a complete list of php.ini directives, you can visit: <br><a href="http://www.php.net/manual/en/ini.list.php" target="_blank" rel="nofollow">http://www.php.net/manual/en/ini.list.php</a>.       
    </li>
</ul>]]></content:encoded></item><item><title><![CDATA[NodeChef – The Best Heroku Alternative]]></title><description><![CDATA[NodeChef is a Platform as a Service (PaaS) offering cheap alternative to Heroku and Google App Engine for developers, teams, and businesses of all sizes.]]></description><link>https://blog.nodechef.com/nodechef-the-best-heroku-alternative/</link><guid isPermaLink="false">5c294799d4d6d8001811789c</guid><dc:creator><![CDATA[NodeChef Team]]></dc:creator><pubDate>Mon, 31 Dec 2018 01:12:13 GMT</pubDate><content:encoded><![CDATA[<p>NodeChef is a Platform as a Service (PaaS) which developers, and teams of all sizes can use to deploy, manage and scale their apps whether it’s a simple prototype or a business-critical app. NodeChef combines the best features and leading technologies from companies like Google, Docker, and many more so that your team can use cutting-edge technologies. NodeChef does the heavy lifting for you. But NodeChef is not the only PaaS available to you. Below, we will attempt to show how NodeChef is the best alternative to Heroku, especially for the many out there looking for a viable alternative.</p>
<h4 id="containertechnology">Container Technology</h4>
<p>NodeChef Platform and Heroku Platform use the container model to run and scale apps. NodeChef runs your app in Docker containers while Heroku runs your app in containers called “dynos.” Containers are typically run on shared host, yet are completely isolated from each other. Both NodeChef and Heroku provide you with an easy way to scale and manage the number, size, and type of containers your app may need at any point in time. You can scale your apps both vertically and/or horizontally. The advantage NodeChef has over Heroku here is that NodeChef runs your app in Docker containers on bare metal servers while Heroku runs dynos probably on AWS EC2 instances. This means you will experience better performance on NodeChef and this translates into savings as you will not require many docker containers like you will need dynos to make your app performant. As this is all managed, you do not have to worry about managing servers, orchestration, load balancing, failovers, security, and many more.</p>
<h4 id="popularlanguages">Popular Languages</h4>
<p>Not only does NodeChef allow you to focus on your app and not worry about the underlying infrastructure, it is also flexible as it supports all the popular languages. NodeChef offers dedicated <a href="https://www.nodechef.com/java-hosting">Java hosting</a>, <a href="https://www.nodechef.com/php-hosting">PHP hosting</a>, <a href="https://www.nodechef.com/nodejs-hosting">Node.js hosting</a>, <a href="https://www.nodechef.com/python-hosting">Python</a>, <a href="https://www.nodechef.com/dotnet-hosting">.Net hosting</a>, <a href="https://www.nodechef.com/ruby-hosting">Ruby hosting</a>, <a href="https://www.nodechef.com/go-hosting">Go hosting</a>, and <a href="https://www.nodechef.com/elixir-hosting">Elixir hosting</a> You can also bring your own language runtimes and frameworks if you choose. NodeChef support for all languages is implemented via a set of open source Heroku and Cloud foundry buildpacks. This means you can easily migrate from Heroku or any platform that uses either Heroku or Cloud foundry buildpacks without any trouble. With the support of open source buildpacks we are making sure there is no vendor lock-in.</p>
<h4 id="highlyscalablenosqlandsqldatabases">Highly Scalable NoSQL and SQL databases</h4>
<p>The majority of apps require a database and this is why at NodeChef, fully managed databases is a core component of the platform. It is most efficient to have your apps and databases running in the same datacenter. NodeChef, therefore, supports the most popular databases: <a href="https://www.nodechef.com/docs/mongodb">MongoDB</a>, <a href="https://www.nodechef.com/docs/redis">Redis</a>, <a href="https://www.nodechef.com/docs/mysql">MySQL</a>, <a href="https://www.nodechef.com/docs/postgresql">PostgreSQL</a> while Heroku supports only Redis and PostgreSQL. NodeChef databases run on bare metal servers meaning you get the best performance at the lowest cost. NodeChef databases are also rich with features you won’t find in any managed database company. For example, NodeChef managed MongoDB boasts of features like <a href="https://www.nodechef.com/docs/mongodb/mongodb-backups">continuous backups</a> and <a href="https://www.nodechef.com/docs/mongodb/mongodb-restore">point in time restore</a>, <a href="https://www.nodechef.com/docs/mongodb/global/mongodb-automatic-indexing">index suggestions and automated indexing</a>, <a href="https://www.nodechef.com/docs/mongodb/global/migrate-mongodb">migration to NodeChef with no downtime</a> and many more. All these mean you can sleep more and grow more.</p>
<h4 id="codedeployments">Code Deployments</h4>
<p>One of the advantages of a PaaS platform is the ease of deploying your app code and NodeChef is literally the winner in this space by a wide margin. NodeChef provides multiple ways to deploy your code while Heroku provides limited ways. At NodeChef, we support <a href="https://www.nodechef.com/docs/node/deploy">deploying using CLI</a>, <a href="https://www.nodechef.com/docs/node/deploy-nodejs-upload">upload from dashboard UI</a> or <a href="https://www.nodechef.com/docs/node/deploy-nodejs-github-bitbucket-gitlab">deploying from Git repository</a>. While Heroku supports only GitHub, NodeChef supports GitHub, GitLab and Bitbucket integrations. You can get your app live in seconds. And on top of that, you get free SSL, zero-downtime deployments, IPv6 ready and web sockets, routing rules and wildcard domains, email alerts on container state change and many more.</p>
<h4 id="debugging">Debugging</h4>
<p>NodeChef offers <a href="https://www.nodechef.com/docs/node/global/metrics">built-in monitoring</a> like uptime metrics, response and connect latency of all application containers, real-time structured HTTP logs, number of active clients, requests per second, CPU and memory usage of all containers. This offering is more advanced than what Heroku offers.</p>
<h4 id="multipledatacenters">Multiple Datacenters</h4>
<p>NodeChef offers more datacenters that Heroku, so that you can deploy your apps in regions that best suit your app. NodeChef offers datacenters in US-East, EU-Central, Singapore and Sydney.</p>
<h4 id="price">Price</h4>
<p>It is not in doubt that price is a major factor when choosing any platform to host your apps. And you will see that even though NodeChef does not offer a free tier, it is still the cheapest PaaS available even for a small app. To illustrate this, let’s assume you have built a Node.js app with MongoDB as the database. If you go with Heroku free tier, your app sleeps after 30 mins of inactivity so you are forced to move to the “Hobby” tier which costs $7. Now since Heroku does not offer MongoDB hosting, you need to find another platform for hosting your database. If you go with mLab “Sandbox” plan which is free, mLab states this plan is for prototyping and there is a reason why. You are therefore inclined to move to the shared hosting plan which starts at $15 per GB. So in total you need to spend $22 ($7+$15) to host your small app. However, when hosted on NodeChef it will only cost you $9 or $15 for both the app and database and the best part is all databases are dedicated and run on bare metal servers. NodeChef's value can’t be beat. And the price gets cheaper when compared with the competition for bigger apps as well.</p>
<h4 id="support">Support</h4>
<p>NodeChef offers support for all its customers. In some cases, clients might require premium support. While NodeChef premium supports starts at $300 per month, Heroku charges the greater of $1,000/month or 20% of total bill per month with a minimum commitment of three months. This makes premium support out of reach for many developers and teams.</p>
<p>To conclude, It is not in doubt that application packaging and deployment can get complicated. And that’s the problem Platform as a Service like NodeChef solves. And NodeChef solves the problem better than the competition. NodeChef is the only alternative Heroku platform that offers a simple, yet flexible way to deploy container-based apps. With all this said, there is no need to waste any more time now. Go ahead and deploy your apps. Do not hesitate to contact us if you have any questions. Happy coding!</p>
]]></content:encoded></item></channel></rss>