Manual Deployment to Cloudways

Hello everyone, thanks in advance for any help! In short, I ran through a Frontity refresher (the main tutorial) and am attempting a manual deployment to our main hosting provider, Cloudways, to document the deployment process. Deploying is where I’m running into trouble, so I hope to gain some insight here!

Here is my procedure so far:

  1. Pull github repo to the public_html folder
  2. SFTP manually upload the build folder within the public_html folder.
  3. run npx frontity serve

After the serve command, the following error happens:
Error: Cannot find module ‘@frontity/core’
Require stack:

  • /home/master/.npm/_npx/32313/lib/node_modules/frontity/dist/src/commands/serve.js
  • /home/master/.npm/_npx/32313/lib/node_modules/frontity/dist/src/cli/serve.js
  • /home/master/.npm/_npx/32313/lib/node_modules/frontity/dist/src/cli/index.js

Make sure that you are running frontity inside a Frontity project.
If so try installing @frontity/core again with npm i @frontity/core.

Also to be clear, I am running the command within the project root, not the build folder. I also did try running the frontity core installer again, but no dice there!

Am I currently doing one of these steps incorrectly? This is probably because of the limited amount of documentation when it comes to Cloudways, so that’s why I’m here to figure out what I could be missing.

System information as follows:

System:

  • OS: Linux 4.9 Debian GNU/Linux 9 (stretch) 9 (stretch)
  • CPU: (4) x64 Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz
  • Memory: 259.93 MB / 7.80 GB
  • Shell: 2.0 - /usr/bin/mysecureshell

Binaries:

  • Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
  • npm: 6.14.11 - ~/.nvm/versions/node/v14.16.0/bin/npm

Browsers:

  • Chrome: Not Found
  • Firefox: Not Found

npmPackages:

  • @frontity/core: ^1.14.1 => 1.14.1
  • @frontity/html2react: ^1.7.0 => 1.7.0
  • @frontity/mars-theme: ./packages/mars-theme => 1.5.2
  • @frontity/tiny-router: ^1.4.2 => 1.4.2
  • @frontity/wp-source: ^1.11.5 => 1.11.5
  • dayjs: ^1.10.5 => 1.10.5
  • frontity: ^1.16.0 => 1.16.0
  • my-first-theme: file:packages/my-first-theme => 1.0.0

npmGlobalPackages:

  • frontity: Not Found
  • npx: Not Found

Here is my github repo of the project:

Thank you everyone!!!

Last time I checked Cloudways to host Frontity, which is only a few weeks ago, I noticed that node and npm were so outdated that it would never work. So instead I host the WP setup on Cloudways and run a custom server directly at Digital Ocean.

For a deployment you’ll need to run at least the following commands:

  • git pull - to get the latest project files
  • npm install - to install/update the required packages
  • npx frontity build - to build the server, which is unique to the machine
  • npx frontity serve - to start the server

Missing any step will fail to run Frontity correctly, and more steps can be required based on your project (eg. I also need to build tailwindcss).

Johan, thanks for the swift reply.

Yes, you’re right - the version of node and npm were outdated, but contacting support remedies that. They can force an update for the server, it’s just a pain to get in touch of course. :wink:

Thanks for the bullet list - I’ll give it a fresh try.

Thanks again, I can verify your step-by-step worked. I was able to figure out what I did wrong in my case. If anyone cares to know my stupid mistake, I created the build locally and SFTP’d the project + the build folder in place since I wasn’t using github at the time. Bad move!

I do have another problem though after getting the server to run properly: I’m getting a 403 Forbidden error. A bit of research suggests a missing .htaccess file? Any insight on what should be done here? Thank you!