# SixPreflight

> Source: https://www.allsweb.com/sixpanel/docs/preflight
> Markdown for agents: https://www.allsweb.com/sixpanel/docs/preflight.md
> Publisher: AllsWeb (www.allsweb.com)

Part of: SixPanel documentation

**What this page is for:** SixPanel looks after your *server*. SixPreflight
looks at your *project* — the settings you and your developer typed in. The
panel's **SixPreflight** page shows you what it found, and opens the tool itself
when you want to dig deeper.

**You need**

- A project that is installed and has a web address.
- Almost nothing else: the panel connects the tool in one click. The one
  exception is a tool that has never been opened — it writes its own settings
  file the first time somebody visits it, so if the panel says it has no
  settings file yet, open `https://your-domain/preflight/` once and then press
  **Connect SixPreflight**.

---

## The two halves of "is my site healthy"

SixPanel already watches the server: nginx, PHP, the database, the queue
worker, backups, the certificate, disk space. If any of those goes wrong,
**Server → Health** turns red and tells you what to do.

None of that can see inside your project. The server can be perfect while:

- your **payment key** is missing, so nobody can check out;
- your **mailbox** cannot send, so no customer ever gets an order email;
- **debug mode** is switched on, so an error page shows your database password
  to whoever triggered it;
- your **web address setting** is wrong, so images and links point at the wrong
  place.

Every one of those is a setting inside the project, not a fault on the machine.
SixPreflight is the tool that reads them. The panel's **SixPreflight** page is
where its answers appear.

## Connect it — once, one click

1. Open your project and choose **SixPreflight**.
2. If it says it is installed but not connected yet, press **Connect
   SixPreflight**.
3. The panel picks a strong password, sets it inside the tool, and shows it to
   you. **Save it in your password manager.**

That password opens SixPreflight and nothing else. It is not your panel
password, and it does not open your shop's admin.

> You can see it again at any time: **SixPreflight** → **Show the SixPreflight
> password**. The panel is the only place it is kept.

**If the tool already has a password you set yourself**, the panel says so and
does not touch it. You can keep using it by hand, or press **Set a new
SixPreflight password** — but read the warning first: the password you are using
now stops working, for you and for anyone you gave it to.

## Reading the page

The top line is the answer in one sentence: *your project's settings look
right*, or *3 serious problems with your project's settings*.

Under it, worst first, one line per setting:

- **serious** — this can cost you orders today.
- **worth fixing** — nothing is on fire; do it when you have ten minutes.

Each line says what the setting is, why it matters in one sentence, and the one
thing to do — which setting to change, what to change it to, and where.

### "Looked after by SixPanel"

Some of what the tool finds lives in files **the panel writes for you** — the
PHP settings, the web server, the database. Those are collected in their own
group so nothing is hidden from you, but there is nothing for you to paste: the
panel rewrites those files on every deploy, so a change made by hand would be
lost within a day. The panel's own Health tab watches them instead.

### The Fix button

Some findings the panel can put right itself, and those lines carry a **Fix**
button:

- **"Whether emoji and every language are safe to store"** — the panel
  converts every database table and column that is still on a narrow
  character set to full Unicode, checking the live database first and again
  afterwards.
- **"Modules enabled but not installed"** — the panel switches off module
  entries whose folder does not exist in your code, so the list matches what
  is actually installed.

Pressing Fix asks you to confirm, then runs a real job — you watch the same
live log every panel job shows, and the job refuses to report success unless
its own re-check comes back clean. Run a fresh check in SixPreflight
afterwards and the finding clears.

SixPreflight itself still never changes anything: the tool reports, and it is
the **panel** that makes the change, on your say-so, with a log you can read
back.

## The deeper check

Press **Open the full check**. SixPreflight opens in a new tab at
`https://your-domain/preflight/`, **already signed in** — there is no password
to type. (The password above is for the times you open the tool directly, by
typing that address yourself, rather than through the panel.)

There you can press **Check now** for a fresh reading, and run the **deeper
check**, which the panel page cannot do for you. The deeper check actually
*uses* your keys instead of only looking at them:

- it signs a real token with your Firebase service account;
- it opens your mail server, logs in, and hangs up **without sending anything**;
- it makes one real Google Maps request and reads Google's answer;
- it benchmarks your database with test data it creates and then removes.

It takes longer and it puts some load on your server, so run it when the site is
quiet — after a fresh install, after moving server, or when something is wrong
and nobody can say what.

> **The check never changes a setting.** It reads, measures and reports. Every
> fix is yours to make — by hand, or with a **Fix** button on the panel's
> SixPreflight page where one is offered.

## On the Health tab

You do not have to remember to open this page. **Server → Health** carries one
line for it:

- **red** — SixPreflight found something serious in your own settings.
- **orange** — it found something worth fixing.
- **grey** — the tool is not installed, or is installed and has never been run,
  or the panel could not read it just now. None of those is a fault.
- **green** — it found nothing wrong.

The panel never starts a check by itself: it reads the **last saved** one. If the
line says the reading is old, open the tool and press **Check now**.

## When the panel cannot read it

The page tells you which of these it is:

| It says | What it means | What to do |
|---|---|---|
| not part of this project | the tool is not in your admin code | Optional. Add the `preflight` folder to your admin repository and deploy. |
| installed but not connected | it has no password yet | Press **Connect SixPreflight**. |
| did not accept the panel's password | somebody changed the password inside the tool | Press **Set a new SixPreflight password**, or keep using yours by hand. |
| did not answer in time | the server was busy, or the tool is stuck | Press **Read it again** in a minute. If it keeps happening, open the tool directly. |
| speaks a newer version of this data | the tool was updated ahead of the panel | Update SixPanel. Nothing is broken meanwhile — open the tool directly. |

A slow or broken SixPreflight can never slow the panel down: the panel gives up
after a few seconds and says so, with the reason.

## Who can see what

- **You**, the owner, see every finding: the setting, its current value and what
  it should be.
- A **temporary login** and the **read-only demo** see only the shape — how many
  problems there are and what they are called. Never a value, never your web
  address, and never the SixPreflight password.

That is deliberate: a finding can name your mail host, your payment provider or
your domain, and those are yours.
