Everything you need to deploy, configure, and maintain GWS Backup.
Welcome to GWS Backup Support. This documentation will guide you through setting up your backup server and connecting your first Google Workspace client.
If you have questions about API limits, backup speeds, or "Stopped" statuses, please review our Frequently Asked Questions.
Support is free, and stays free for as long as we can manage it — on the free ten-workspace licence as much as on any other. Email support@gwsbackup.com and a person reads it. Early adopters get particular attention: if you took a chance on this before it had a track record, that earns you more of our time, not less.
If an update installed from the console fails, the console says so and an Admin can send us a report; it shows everything it sends first, and sends nothing without that click. We normally publish a fixed version within 48 hours, and it appears under Settings → System. Email us only if no fix has appeared by then, or the fix fails too.
Read this before you start: two of the items below stop the application dead if they are missing, and it is much less annoying to find out now.
https://, or on the machine itself. Run AutoSSL (or your own
certificate) on the subdomain before you sign in for the first time.GWS Backup needs a great deal of outbound access and almost no inbound. Getting that asymmetry right is most of what securing an installation amounts to.
Outbound — all of this has to be allowed
| Destination | Port | What stops working without it |
|---|---|---|
*.googleapis.comaccounts.google.com*.googleusercontent.com |
443 TCP | Everything to do with the workspaces you protect — Drive, Gmail, the Admin SDK, OAuth tokens, and the file transfers themselves. |
Our licence serverlicensingpki342o2889dsf.kikosolutions.co.uk |
443 TCP | Activation and its periodic re-check, and an update-failure report if an Admin chooses to send one. Product news in the console arrives on the same reply. |
gwsbackup.com |
443 TCP | The update check, about every six hours, and downloading an update. The check sends nothing about your install. |
Your S3 endpoint — s3.<region>.amazonaws.com,
Wasabi, Backblaze, MinIO and so on |
443 TCP | Only if one of your destinations is S3-compatible storage. |
<account>.blob.core.windows.net |
443 TCP | Only if one of your destinations is Azure. |
| Your DNS resolver, and a time source | 53, and 123 UDP | The licence is a signed token with a validity window. A clock several minutes out makes activation fail in a way that reads as a network fault. |
If you filter outbound traffic by hostname, do not stop at
googleapis.com. Drive hands the actual file content over on
googleusercontent.com. A rule allowing only the API host lets every
listing and every permission check succeed, then fails at the moment bytes move
— which shows up as intermittent backup failures rather than as anything to
do with your firewall.
Inbound — keep it as small as you can
127.0.0.1:3000:3000 so the
container is not on the network at all.https://.What it never needs — do not open these
The application itself is Node.js and does not use PHP. PHP runs the installer, which backs up your databases, unpacks a release and adds the small job that keeps the app awake. Updates installed from the console run the same installer, so keep PHP available on the command line. Extracting the zip by hand in File Manager works without PHP, but skips the database backup and the keep-awake job.
Three ways to run it: cPanel, Windows and Docker. Each has its own step-by-step guide.
The easiest way to run GWS Backup round the clock without looking after a server. If your host offers cPanel with Setup Node.js App or Application Manager on Node.js 22.13 or newer, you can be up in about twenty minutes.
Two rules that matter more than any of the steps:
public_html. The application folder
holds your encrypted credentials database and the .env with your
encryption key. Under the web root, one misconfiguration puts both within reach of
anyone on the internet.vault-k7x93q.yourdomain.com, not backup.yourdomain.com.
Bots scan the obvious names looking for admin panels.In outline: create the subdomain and run AutoSSL, create the Node.js application
pointing at app.js, upload the release zip and its matching
installer to the application root, run the installer, set
NEXTAUTH_URL to your full https:// address, then start the
app and complete setup in the browser.
Unpacking is one line in cPanel’s Terminal (or over SSH), from the application root:
That script backs up your existing databases before it extracts anything, removes the zip and any older installers, and adds a small cron job that keeps the app awake. It stays in the folder for the next update. If your host gives you no terminal, use File Manager’s Extract on the release zip instead and delete the zip afterwards. That skips the database backup and the keep-awake job, so add the job by hand.
→ Follow the full step-by-step cPanel install guide
Use Docker. The cPanel package will run under any process manager on Node.js 22.13 or newer, but there is no guide for it, and outside cPanel and Windows the console cannot install its own updates: it shows where to download them.
The image carries its own Node runtime, so there is nothing to install first and no version to check
— two files, two generated secrets, and
docker compose up -d. Your databases live in a Docker volume, so
updating replaces the container and leaves them alone.
→ Follow the full step-by-step Docker install guide
What each version changed — read the release notes. From 1.00 the download page offers only the current version.
One installer, no terminal work: it installs Node.js if the PC needs it, and registers GWS Backup to start with Windows before anyone signs in, so a machine that reboots overnight carries on backing up instead of waiting at the lock screen.
Windows 10, Windows 11 or Server 2016 and newer, 64-bit. The installer is not yet code-signed, so Windows will warn about an unrecognised publisher — the guide explains what to check instead.