Skip to main content

Getting Started

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

Usage

npx 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.

note

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:

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.

tip

Some providers, doesn't allow you to login as root. In that case, you can use a different username, like ubuntu or 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 deploy command:

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 the webpod/deploy GitHub Action to deploy your website on push.