Skip to main content

Deploying Paybill Client

Paybill client is a standalone application and can be deployed on static website hosting services such as Netlify, Firebase, S3/Cloudfront, etc.

You can build standalone client with the below command:

pnpm build:client

If you have any questions feel free to join our Discord Community or send us an email at info@paybill.dev.

On Firebase​

tip

You should set the environment variable API_BASE_URL ( URL of the server ) while building the frontend.

For example: API_BASE_URL=https://server.paybill.dev pnpm build:client && firebase deploy

  1. Initialize firebase project
     firebase init
    Select Firebase Hosting and set dist as the static file directory
  2. Deploy client to Firebase
     firebase deploy

On Google Cloud Storage​

tip

You should set the environment variable API_BASE_URL ( URL of the server ) while building the frontend.

For example: API_BASE_URL=https://server.paybill.dev pnpm build:client

Using Load balancer​

Paybill client can be hosted from Cloud Storage bucket just like hosting any other static website. Follow the instructions from google documentation here.

Summarizing the steps below:

  1. Create a bucket and upload files within the dist folder such that the index.html is at the bucket root.

  2. Edit permissions for the bucket to assign New principal as allUsers with role as Storage Object Viewer and permit for public access for the bucket.

  3. Click on Edit website configuration from the buckets browser and specify the main page as index.html

  4. Follow the instructions on creating a load balancer for hosting a static website.

  5. Optionally, create Cloud CDN to use with the backend bucket assigned to the load balancer.

  6. After the load balancer is created there will be an IP assigned to it. Try hitting it to check the website is being loaded.

  7. Use the load balancer IP as the static IP for the A record of your domain.

Using Google App Engine​

  1. Upload the dist folder onto a bucket

  2. Upload app.yaml file onto bucket with the following config

    runtime: python27
    api_version: 1
    threadsafe: true

    handlers:
    - url: /
    static_files: dist/index.html
    upload: dist/index.html

    - url: /(.*)
    static_files: dist/\1
    upload: dist/(.*)
  3. Activate cloud shell on your browser and create dist folder

    mkdir paybill-assets
  4. Copy the uploaded files onto an assets folder which is to be served

    gsutil rsync -r gs://your-bucket-name/path-to-assets ./paybill-assets
  5. Deploy static assets to be served

    cd paybill-assets && gcloud app deploy

Upgrading to the Latest LTS Version​

New LTS versions are released every 3-5 months with an end-of-life of atleast 18 months. To check the latest LTS version, visit the Paybill Docker Hub page. The LTS tags follow a naming convention with the prefix LTS- followed by the version number, for example paybilldev/paybill:ee-lts-latest.

If this is a new installation of the application, you may start directly with the latest version. This guide is not required for new installations.

Prerequisites for Upgrading to the Latest LTS Version:​

  • It is crucial to perform a comprehensive backup of your database before starting the upgrade process to prevent data loss.

If you have any questions feel free to join our Discord Community or send us an email at info@paybill.dev.