Weblutions Documentation
Weblutions Main Site Contact Us Our Discord
Some pages are still pending proper formatting, if required refer to the legacy documentation website.
FaxStore IconFaxStore

Weblutions Documentation / FaxStore / Prerequisites

Updated

Prerequisites

By Josh M. 5 mins 5

Because FaxStore runs on Node.js, it requires slightly more server resources than a traditional static website or other self-hosted solutions. This page outlines the recommended environment and system requirements for running FaxStore successfully.

All official FaxStore documentation and installation guides are written for Ubuntu-based Linux servers, specifically Ubuntu 22.04 LTS.

Currently, Windows hosting is not supported in our official guides, and we strongly recommend using an Ubuntu 22.04 LTS server when deploying FaxStore.

Table of Contents


System Requirements

What's Needed

Before installing FaxStore on a fresh operating system, make sure to have the following ready:

  • Server
    A VPS or dedicated server running Ubuntu Linux. Ubuntu 22.04 and higher is recommended and used throughout our guides.

  • Domain Name
    A domain such as example.com. This allows FaxStore to be accessible on the internet in a brand and search engine way.

  • Payment Processor Account
    If accepting payments from customers ensure to have an account on at least one of the below processors.

    • PayPal business account

    • Stripe account (most supported)

    • Square account

  • Login Providers (Optional)
    Option third parties can be used for easier customer logins. Without any of these a username and password method is put into place.

    • Discord

    • Google

    • GitHub


System Requirements

The following specifications outline the minimum and recommended system resources for running FaxStore to operate smoothly

Minimum

Recommended

Operating System

Ubuntu 22.04 LTS

Ubuntu 24.04 LTS

CPU

1 CPU Core

4 CPU Cores

Memory (RAM)

2 GB

4 GB

Storage

25GB*

50GB

*While FaxStore is only around 100MB in size, the storage guide accounts for uploaded content. Eg; database, user uploaded content, products, etc.


Resource Usage Notes

Actual resource usage may vary depending on how your store is configured and used. Factors that can increase system requirements include:

  • High website traffic

  • Large product files or downloads

  • Image uploads and media storage

  • Additional integrations or plugins

  • Background tasks and automation

For growing stores or communities, we recommend starting with the recommended specifications and scaling your server resources as your usage increases.


Port & Network Requirements

FaxStore runs as a Node.js application and is typically exposed to the internet using Nginx as a reverse proxy. This means your server will handle web traffic through Nginx while forwarding requests internally to the FaxStore application.

The sections below outline the network ports and firewall configuration commonly used for a FaxStore installation.


Typical Network Architecture

Most FaxStore installations follow this structure in terms of networking

Internet
   ↓
Nginx (Ports 80 / 443)
   ↓
FaxStore Node.js Application (Port 3000)
   ↓
MySQL Database (Port 3306 - Localhost)
  • Nginx handles incoming web traffic and SSL encryption.

  • FaxStore runs internally as a Node.js application.

  • MySQL stores store data such as users, products, orders, and configuration.


Public Ports

These ports must be accessible from the internet for FaxStore to function.

Port

Protocol

Purpose

80

HTTP

Used for initial web access and SSL certificate verification

443

HTTPS

Secure website traffic

FaxStore uses Let's Encrypt via Certbot by default to automatically generate and renew SSL certificates. Port 80 must remain accessible so certificate verification can occur.


Internal Ports

These ports are normally not exposed to the public internet and are used internally by the server.

Port

Service

Purpose

3000 (default)

FaxStore

Node.js application server

3306

MySQL

Database connection

The FaxStore application port is configurable, but by default the Node.js server runs on port 3000 and is accessed internally by Nginx.

For security reasons, these ports should normally only be accessible via localhost (127.0.0.1).


Outbound Network Access

The server must be able to make outbound HTTPS requests to external services used by FaxStore.

common services include:

  • Stripe – payment processing

  • PayPal – payment processing

  • Square – payment processing

  • OAuth Providers – Discord, Google, GitHub login

  • Twilio SendGrid – email delivery

  • Weblutions License Serverlicense.weblutions.com

  • Weblutions RMS *.weblutions.com

These services typically communicate using secure HTTPS connections (port 443).


Firewall Recommendations (Optional)

While not strictly required, it is recommended to enable a firewall on the server to improve security.

A common configuration allows only essential ports:

Port

Purpose

22

SSH server management

80

HTTP web traffic

443

HTTPS secure web traffic

All other ports can typically remain blocked from external access.

Most Ubuntu servers use UFW (Uncomplicated Firewall) to manage firewall rules.


Common Network Faults

Network faults can be hard to diagnose, below is a list of common faults FaxStore can produce either on an application or server level.

SSL Certificate Cannot Be Generated

FaxStore uses Certbot with Let's Encrypt to generate SSL certificates. If port 80 is blocked, the certificate verification process will fail.

This commonly happens when:

  • Port 80 is blocked by a firewall

  • A DNS record (type A) does not point to the correct server

  • A reverse proxy or CDN (such as Cloudflare) is incorrectly configured

There is a Process Running on Port

If there's is another application running on the same port FaxStore is trying to use there may be an error displayed in the FaxStore console which mentions the there's another application running on the port.

To further troubleshoot our Find a Processes Port on Ubuntu guide can be followed to figure out which other application is using the port. More than likely it may be a duplicated FaxStore instance.