Let's get started with Webpod! This guide will walk you through the steps of installing Webpod and creating your first pod! If you have any questions, feel free to open an issue on GitHub.
Install Webpod using npm in your project directory:
npm install webpod
You can also use Webpod with npx without installing it.
Creating a pod
Webpod helps you deploy your website to your own server. To get started, you'll need to create a VPS (Virtual Private Server) with a provider like DigitalOcean, Linode, or Vultr. You can also cloud providers like AWS, Google Cloud, or Microsoft Azure.
Make sure to choose Ubuntu 20.04 or later as your operating system.
Webpod requires Ubuntu 20.04 or later. Webpod provisioning designed to use Ubuntu as the operating system. Other operating systems are not supported.
Once you have a server, you need to assign a domain name to it. You need to set A records for the domain to point to your server's IP address. You can also use a subdomain if you don't want to use your root domain.
Once you have a server and a domain name, you can create your first pod. First check that your server is accessible by running:
Next, run the following command to provision your server:
npx webpod [email protected]
Webpod will ask you a few question, like the domain name you want to use, and then it will provision your server. Usually provisioning takes from a 2 to 5 minutes, depending on your server.
You can specify all the options on the command line if you want to skip the questions:
npx webpod [email protected] --domain example.com
Or you can use a configuration file.
Some providers, doesn't allow you to login as root. In that case, you can use a different
admin, and then "become" root:
npx webpod [email protected] --become=root
Once it's done, you can visit your domain name in your browser, and you should see your deployed website!
Deploying your website
For further deployments, you can use the
npx webpod deploy 192.0.2.1 --domain example.com
Webpod will ssh using less privileged user called
webpod to deploy your website.
You can use this command to deploy on push from your CI pipeline. You can also use
webpod/deploy GitHub Action to deploy your website on push.