# The panel, page by page

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

Part of: SixPanel documentation

**What this page is for.** It says what every page in the panel does, what you will use it for most, and when to leave it alone.

**You need**

- To be logged in to the panel (**[First login](https://www.allsweb.com/sixpanel/docs/first-login)**).

Read this once. It is the difference between hunting for a button and knowing
where it lives.

---

## Two groups of pages

The menu is split in two.

**Panel** pages act on the **whole server**: Home, Projects, Server, Backups,
Security, Settings.

**Project** pages act on **one project**: Overview, Deploys, Domain & SSL,
Database, Logs, App .env, SixPreflight, Advanced.

Most people run one project, so the two groups feel like one menu. If you run
more than one on the same server, a switcher in the top bar chooses which one
the Project pages act on. See **[More than one project](https://www.allsweb.com/sixpanel/docs/multiple-projects)**.

The web address tells you which group you are in. `…/#/server` is a Panel page.
`…/#/p/default/logs` is a Project page. Bookmarks and the browser's Back button
both work, and older addresses still work too — `#/health`, `#/disk`,
`#/firewall` and `#/cloudflare` all land on the tab that absorbed them.

---

## Panel pages

### Home

**What it is for.** The first look every day, and the answer to "does anything
need me?"

It opens with **Needs your attention** — one line per thing that is actually
wrong, each with the button that fixes it. A stopped service, a certificate
close to expiry, a backup that has not run, an available panel update, a disk
past its comfortable level. When there is nothing, it says **All clear**.

Under it: **This server** (processor, memory, disk, uptime), **Your projects**
(one card each, with its addresses, whether HTTPS is on, whether the app is
installed, the last deploy and quick links to the admin and the store),
**Backups**, and **Recent activity**.

**You will use it for** the attention list. If it is empty, close the tab.

### Projects

**What it is for.** Creating and listing 6ammart installs. Each project gets
its own domain, database, Linux user, PHP pool and services.

**Create a new project** is a guided flow, not a form: you type one domain and
the panel derives the admin, website, `www` and websocket addresses from it,
then — if Cloudflare manages that domain — creates the runtime, registers the
addresses, writes the DNS records (always proxied) and gets both certificates,
showing each step as it happens.

Each project card shows what is still missing, a **rename…** link, and a
search box once you have several. Renaming changes the label this panel shows
and nothing else — see **[Rename a project](https://www.allsweb.com/sixpanel/docs/project-name)**.

**Do not** create a second project on a small server without adding memory
first. See **[More than one project](https://www.allsweb.com/sixpanel/docs/multiple-projects)**.

### Server

**What it is for.** The machine itself. It has four tabs.

**Health** — a full check-up: DNS, certificate expiry, services, the database,
the queue, the scheduler, disk space, memory, backups, Cloudflare and more —
over thirty checks in one view. Each failure carries a plain-language fix that
names the page to go to.

Three checks are worth knowing about in advance:

- **The app answers requests.** The panel dials your project's own hostname on
  this machine, with the real name in the request, and reports what
  `/api/v1/config` gives back — the first call every 6ammart phone app makes.
  A green services list and a 404 here means your customers get nothing while
  everything looks fine.
- **Shop timezone.** 6ammart keeps the shop's timezone inside its own admin
  panel and applies it on every request. If that value is a name this server's
  PHP does not know, PHP quietly falls back to UTC — every order time, report
  boundary and scheduled task is out by the offset while every page renders
  normally. This check reads the value and says whether the server really has
  it.
- **Storefront rate-limit exemption.** SixPanel limits abusive traffic at the
  web server automatically, so one bad source cannot use up the whole site.
  That check confirms your own storefront is never caught by those limits.

**Resources** — where the disk went, per project (app code next to customer
uploads), and a tick-list of safe things to remove: Laravel caches and logs,
old system logs, the package manager's cache, PHP temporary files and the
panel's own job leftovers, each with an estimate of what it frees. **Customer
uploads and the database are never touched by the cleanup.** There is also a
switch for running the cleanup automatically.

**Firewall** — the exact rules this server needs, with copy buttons. See
**[Firewall and ports](https://www.allsweb.com/sixpanel/docs/firewall)**.

**Scheduled** — everything the panel does by itself on a timer: certificate
renewal, backups, the backup restore test, disk cleanup.

**You will use it for** the Health tab, every time something feels wrong, and
the Resources tab the moment the disk passes about 90 per cent. A full disk
stops the database, and a stopped database stops the site.

### Backups

**What it is for.** Choosing where backups go, how often they run, and getting
data back when something goes wrong.

Backups are incremental: after the first one, only the changes are stored, so
later backups stay small and fast.

**You will use it for** three things, and they matter more than everything else
in this manual: send backups somewhere that is **not this server**, keep your
own copy of the backup password, and read the **Can your backup be restored?**
card, which loads your newest backup into a throwaway database every week and
tells you whether it really works.

Full page: **[Backups](https://www.allsweb.com/sixpanel/docs/backups)**.

### Security

**What it is for.** Everything about who can get into this panel, and a record
of what they did.

It holds your login name, your password, two-factor login, the list of browsers
signed in right now, the secret panel link and entry code, the panel's own
domain and certificate, the panel port, the login address list, the addresses
currently locked out after failed logins, temporary logins, the public demo
login, and the activity log.

**You will use it for** the activity log when something changed and you do not
know who changed it, and for handing a developer a login of their own instead
of your password.

> **This cannot be undone** — pressing **Change entry code** kills the old
> panel link immediately, on every device including the one you are using.
> Save the new link when it is shown.

Full pages: **[Security](https://www.allsweb.com/sixpanel/docs/security)** and **[Let someone else
in](https://www.allsweb.com/sixpanel/docs/share-access)**.

### Settings

**What it is for.** How the panel talks to you, and the few buttons that take
something offline. Two tabs.

**General** holds:

- **Language, timezone and alert email** — the basics from the first-run
  wizard, changeable any time.
- **Email alerts (SMTP)** — give the panel a mailbox so it can write to you
  when a job fails, health turns red, the disk passes 90 per cent, someone is
  locked out after wrong passwords, or a certificate renewal fails. At most one
  email per topic every six hours.
- **Automatic repairs** — once a minute the panel checks the handful of things
  that take a site offline, and for a few of them it does the same repair you
  would do by hand. It is **on** by default. It never deletes anything, never
  restarts the database, and never starts a service you stopped yourself; each
  repair has a daily ceiling and a cooldown, and one it keeps failing at is
  abandoned rather than retried forever. Everything it does is on the activity
  log, and it emails you either way.
- **Auto-tune** — the install sized the database, the cache and the PHP workers
  for the hardware you had at the time. If you later give the server more
  memory or more processors, open this card and press **Apply tuning**. The
  affected services pick up the new sizes and one page load may feel slow while
  they do.

  The suggested column is the *same* calculation the installer used, so on a
  server whose hardware has not changed it will usually say there is nothing to
  do. Where a suggestion is **lower** than what you are running now — because
  you removed a project, or because you raised a number yourself — the job says
  so in its log before it writes, since a later update will not put it back.
- **Panel updates**, **Server security updates** and **Restart this server**.

**Cloudflare** is the second tab. See **[Cloudflare](https://www.allsweb.com/sixpanel/docs/cloudflare)**.

You do not have to set up anything to keep the queue worker, the scheduler or
the websocket service alive. Each one is a systemd unit with a restart policy,
so it comes back after a crash and after a server restart. **Do not add your
own systemd units or Supervisor for them** — two supervisors fighting over one
process is a real way to break a working site.

There are **three** different updates on this server, and mixing them up is the
most common misunderstanding in this product:

| What you want newer | Where |
|---|---|
| Your 6ammart code | **Deploys** → **Get the latest code** |
| SixPanel itself (the panel, the CLI, the serving configuration) | **Settings** → panel updates |
| The server itself (Ubuntu security fixes) | **Settings** → **Server security updates** |

**Restart this server** is on the same tab. You have to confirm, and the site is
offline for the whole restart.

Full pages: **[Update SixPanel itself](https://www.allsweb.com/sixpanel/docs/update-sixpanel)** and **[Server
updates and restarts](https://www.allsweb.com/sixpanel/docs/server-updates)**.

---

## Project pages

### Overview

**What it is for.** One project at a glance: its addresses, whether HTTPS is
on, whether the app is installed, which services are up, the versions, the last
deploy, the last backup, recent activity and the newest error lines from the
application log.

**You will use it for** landing somewhere sensible after switching projects.

### Deploys

**What it is for.** Getting 6ammart code onto the server and keeping it
current.

The first screen answers three questions and nothing else: is my project live,
which version is running, and what do I press. Depending on the state you see
**Install 6ammart Admin**, **Get the latest code**, or a note that a domain has
to be added first.

You can install from a **git repository** or by **uploading the CodeCanyon
zip** — both are first-class, and the page offers them side by side. Below the
first screen sit the customer website's own install and update, automatic
deploys on git push (one webhook per repository, each with its own address and
secret), the full deploy history with rollback, and the wizard for moving a
project here from another server.

Every long action runs as a job with a live log you can watch.

Full pages: **[Install your 6ammart code](https://www.allsweb.com/sixpanel/docs/install-app)**, **[Deploy and
update](https://www.allsweb.com/sixpanel/docs/deploy-update)**, **[Move an existing site
here](https://www.allsweb.com/sixpanel/docs/move-existing-site)**.

### Domain & SSL

**What it is for.** Connecting names to this server and securing them.

There are three groups: **Admin site (main domain)**, **Customer website**,
and **Live updates (websockets)**. Each name moves through three chips:
**added** → **pointed** → **secured**.

Full page: **[Domains and HTTPS](https://www.allsweb.com/sixpanel/docs/domain-ssl)**.

### Database

**What it is for.** Size, table counts, the biggest tables, slow queries, a
speed check, quick safety copies, and phpMyAdmin when you really need to look
inside.

**Make a backup now** is the button to press before anything risky, and there
is a download for a copy you keep yourself.

The **Speed** card is worth knowing about. Your project keeps shortcuts that
let it find orders and products without reading through every row, and
depending on where your 6ammart code came from some of them may never have been
created. The card names the missing ones and builds them on one press. Safe to
run while the site is busy; nothing is deleted.

**Start phpMyAdmin** runs the familiar database browser only while you need it.
It is reachable only while you are logged in to the panel. Stop it when you are
done.

> **This cannot be undone** — the danger zone's **import** replaces everything.
> Orders and users that are not in the file you upload are gone.

### Logs

**What it is for.** Every log this project writes, in one place, live: the
application's own log, the web server, PHP, the queue worker, the scheduler,
the websocket service and the customer website.

**App errors** is the first thing on it — the newest error lines from the
6ammart log, grouped, with how many times each has happened and when it was
last seen. Empty is exactly how it should look.

**You will use it for** the moment something fails: the error usually explains
itself here in one line.

### App .env

**What it is for.** The 6ammart app's own settings file, made safe to edit.

Settings that only accept certain values get drop-down lists and switches, so
a wrong value cannot be typed. Secrets stay hidden until you press **Reveal**
(each reveal is written to the activity log). Settings this server manages —
database, domain, websockets — are shown but locked.

Press save and the panel writes the file, rebuilds the settings cache and
reloads PHP without dropping visitors.

The **Health** tab checks this file against the reference file your 6ammart
code ships with, and names every setting that is missing or empty along with
what it breaks. Payment keys and Firebase push keys are not in this file at all
— 6ammart keeps those in its own admin panel.

**Do not** change `APP_KEY`. It locks every user out and makes encrypted data
unreadable. The page marks that one, and a few others, as careful.

Some mail settings can also be changed inside 6ammart's own admin panel, and
those win over this file. The page says so at the top.

### SixPreflight

**What it is for.** SixPanel looks after the *server*. SixPreflight looks at
your *project's own settings* — a missing payment key, a mailbox that cannot
send, debug mode left on. This page shows what it found, worst first.

Full page: **[SixPreflight](https://www.allsweb.com/sixpanel/docs/preflight)**.

### Advanced

**What it is for.** The tools you rarely need, on three tabs.

**Files** — a file manager for this project's code: the app and, if you run it,
the customer website. Upload, edit, rename, move, compress, extract, change
permissions, download, delete. Rows marked **protected** hold things the site
cannot live without — uploads, settings files, anything under version control —
and the server refuses to delete or rename those. The manager cannot see
outside your project's folders: SixPanel's own settings, the database files and
the panel's code are not reachable from here. That is a safety boundary, not a
missing feature. **Changes take effect immediately, and there is no undo.**

**Cron** — this project's timed tasks: 6ammart's own schedule, plus any job you
add yourself. 6ammart needs its scheduler running every minute for
subscriptions, reports and cleanups; this tab shows whether that is alive.

**Services** — the background programs that run this project, each one
separately: PHP, the queue worker, the scheduler, the websocket service and the
customer website. Start, stop or restart each one, and open its log. This tab
also holds **Live order updates** — one button that sets up real-time order
pings — and the websocket domain wizard. See **[Live order
updates](https://www.allsweb.com/sixpanel/docs/live-updates)**.

**Do not** stop the database or the cache on a live project. Those are shared
by every project on the machine, and the page warns you.

---

## How to check it worked

You have finished this page when you can answer, without looking: which page do
I open to restart the web server, and which page tells me what is wrong?

(Advanced → Services. Server → Health.)

## If it went wrong

- A page says *not available on this panel yet* — SixPanel is older than that
  feature. See **[Update SixPanel itself](https://www.allsweb.com/sixpanel/docs/update-sixpanel)**.
- A page will not load at all — check **Server → Health**, then **[When
  something is broken](https://www.allsweb.com/sixpanel/docs/troubleshooting)**.
