DocumentationBuild. Deploy. Operate.
DocsIntroduction

Quick Start

On this page 6 sections

This page walks through bringing up one QSCS node in front of one origin web server. It assumes you have a Linux host with a public IP, SSH access, and an origin already listening on, for example, 127.0.0.1:80.

1. Install the package

QSCS is distributed as a .deb package via an apt repository. Replace the URL placeholders with the repository you have been given.

# Trust the signing key
curl -fsSL https://spooksystems.org/apt/qscs-archive-keyring.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/qscs-archive-keyring.gpg

# Add the apt source
echo "deb [signed-by=/usr/share/keyrings/qscs-archive-keyring.gpg] https://spooksystems.org/apt stable main" \
  | sudo tee /etc/apt/sources.list.d/qscs.list

sudo apt-get update
sudo apt-get install qscs-bootstrap

2. Activate the license

sudo qscs license <username>

This registers the node with your control plane and creates a stable node UUID under /opt/qscs.

3. Subscribe to a domain

A domain in QSCS is a named cluster. Each cluster owns a set of origins.

sudo qscs subscribe domain <cluster-tag>

This regenerates /etc/qscs/qscs.conf with the cluster's peer list and origin entries. If your node is the cluster's master, its origins point at the real backends. If it is a thin client, its origins point at the master automatically (see Implicit-Origin Model).

4. Start the daemon

sudo systemctl restart qscs
sudo systemctl status  qscs

5. Verify

# From the host itself:
curl -i -H "Host: <your-origin>" http://127.0.0.1:8080/

# Look for these headers:
#   HTTP/1.1 200 OK
#   X-QSCS-Mode: full       (first request — fetched from origin)
#   X-QSCS-Mode: nochange   (subsequent request — served from cache)
That's it Your node is now caching responses and ready to serve them through outages. To add more nodes to the same cluster, repeat steps 1 to 3 on each, they will pick up the master and origins automatically.

Where to go next

Need a hand with your deployment?Contact support ↗Back to top ↑