in 1999.io, Blogging

nodeStorage: Feedback on new migration changes (affects 1999.io)

I wrote a post recently about a 1999.io server that I set up for a friend. That post documented a problem that happened when I initially set up the server. A few weeks ago, he wrote me to say that he was getting 502 Bad Gateway when he tried to access his site. After some review, it appeared that the 502 Bad Gateway was due to the fact that the server process had stopped for some reason. I went to restart the server, but got an error immediately:

Cannot find module ./main.js

After some more review, I saw that the nodeStorage repo had been updated in October (https://github.com/scripting/nodeStorage). This is the backend of the 1999.io blogging tool. I remembered that in the past, some of these apps would try to update themselves periodically. From looking at the installation directory, this appeared to be the case. The update was to create a NPM package for nodeStorage (it appears this was to help with making future updates easier). I agree that the manner of updating 1999.io in the past has been somewhat awkward, so I hope this will improve the environment for future updates. However, I wanted to get my friend’s server working again, so I started trying to figure out how to fix things as quickly as I could.

The description for the new update process (https://github.com/scripting/nodeStorage/blob/master/package.md) had the following steps:

  1. Download the package.
  2. The code you need is in the example folder. Copy the two files into your app’s folder.
  3. Edit app.js to the name of your app, and update package.json accordingly.
  4. You can delete the other files.
  5. At the command line, enter npm install.
  6. You still have to have a config.json file as before.

I began to work through these steps, here are my notes:

  1. Download the package.

Since I did not think my install was ready to do the ‘npm update’ type solution (future state), I instead downloaded a Zip file of the current nodeStorage repo (https://github.com/scripting/nodeStorage/archive/master.zip) and unzipped the file.

2. The code you need is in the example folder. Copy the two files into your app’s folder.

I reviewed the unzipped file and saw that there was a folder called “example” and it contained two files (app.js and package.json). I copied these files into my existing nodeStorage directory.

3. Edit app.js to the name of your app, and update package.json accordingly.

I decided that I wanted to keep the storage.js app the same, so I changed the app name in app.js from “nodestorage” to “storage” (which corresponds to storage.js). I decided to keep the current package.json for now.

4. You can delete the other files.

I decided to delete the npm_modules directory within the nodeStorage directory (due to step 5)

5. At the command line, enter npm install.

I executed this command from the nodeStorage directory

6. You still have to have a config.json file as before.

I had a config.json file, so left it as is.

I then started the server using the command “node storage.js”, and the server appeared to come up correctly. I then stopped it and started again using the command “forever start -a storage.js”

I then repeated this operation with a second 1999.io install, except that I left app.js and package.json from the example folder as-is. I then used the command “node app.js” and saw the server come up correctly. Finally, I stopped it and started again using the command “forever start -a app.js”, with everything working normally.

Conclusions/suggestions:

  1. Recommend changing step 1 to say “getting the nodeStorage repo Zip file” rather than “Download the package”, as this gives the impression that you are supposed to issue some NPM command right at the start.
  2. Be more specific about what files could/should be deleted in step 4. I deleted the node_modules directory, but perhaps other files could be deleted as well.

Write a Comment

Comment

  1. @AndySylvester Wow, thanks so much, Andy! That’s a LOT of work!!

    I’m soooo glad to have my ham radio blog working. It makes me so happy to write about things that matter to me. As one gets older, one realizes what is really important. What I’ve thought of as a “hobby” for decades is a much more important part of my life now.
    ?