FaxStore
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
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
GitHub
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.
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.
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.
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.
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.
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).
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 Server – license.weblutions.com
Weblutions RMS – *.weblutions.com
These services typically communicate using secure HTTPS connections (port 443).
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.
Network faults can be hard to diagnose, below is a list of common faults FaxStore can produce either on an application or server level.
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
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.