Keeping it safe and current
Activity: what happened on this server
What this page is for. One record of everything that has happened on this server, so "who changed that?", "did the backup run?" and "why did that fail?" have the same answer in the same place. It is the Activity page in the Panel menu group.
You need
- To be logged in to the panel (First login).
What it shows
A timeline, newest first, grouped by day — Today, Yesterday, then the date. It holds:
- Everything asked of the panel. Every change anyone asked for — a button pressed, a setting saved, a website deployed — whether it went through, was refused or failed. That covers you, a temporary login, an account, Tia, and an MCP client.
- Everything the panel did by itself. Every job it ran — installs, backups, certificates, database work, its own repairs — and how it ended.
Each entry is one sentence: the time, who did it, and what was done — for example Owner Restarted the service nginx, A push to git deploy blog, or Tia Changed a DNS record (you approved it). Under the sentence are chips for:
- How it ended — Done, Refused, Failed, and for a job still going, Running or Waiting. A refused or failed entry also shows its time in colour, so the ones that need a look stand out.
- Where — the project or website it was about (nothing means server-wide).
- Kind — Backups, Domain & SSL, Database, Deploys, Cloudflare, Security, Projects, App .env, Cron jobs, Services, Self-heal, Maintenance, System.
Some older entries carry, in small type, the panel's own short name for the action — login-ok, site-create, 2fa-skip. You do not need to read it; it is there because the log on the Security page filters by it and because support may ask you for it.
Who reads like this: Owner (you), Temporary login "name", Account "name" (with "signed in as them by the owner" when you used log in as), Tia, The schedule, A push to git, Self-heal, The maintenance window, The command line, The panel. A service that came back at 3 a.m. reads Self-heal, not you. Not recorded means a job so old it predates the panel noting who asked for it — nothing is wrong.
Filters and search
The bar above the timeline answers the ways an owner asks "what happened":
- Who — everyone, a signed-in person, Tia, everything automatic, or one kind of automatic (only the schedule, only self-heal…).
- Project — one shop or website, or Server-wide (no project).
- Kind — one of the kinds above.
- Outcome — Done, Refused, Failed, or Running or waiting. "Everything that failed this week" is two choices.
- When — any time, today, the last 7, 30 or 90 days, or Between two dates.
- Search — words that must all appear in the entry: its sentence, its short name, the address it was sent to, the sign-in that sent it.
The filters ask the whole record, not only what is on the screen, so a search reaches a year back. The entries already shown are narrowed at once while the answer comes. The filters are kept in the page's address, so a link to #/activity?outcome=failed opens it already filtered.
The timeline shows the newest 100 entries that match. Show older goes further back, as far as the record reaches; the line under the filters says when you have reached the end.
An entry's details
Details on any entry opens everything that was recorded about it:
- when, who, the address it came from, and what it came through (Tia, an MCP client);
- the project or website, the kind, and how it ended — with the answer code and the reason when it was refused or failed;
- how long it took, what was asked (the action and the names in it), and the record number;
- Everything else this press did — one press can write more than one entry, and they are listed together;
- for a job, its log. A job still running offers Watch the live log. An old job whose log is no longer kept says so; how it ended is still there.
What a request sent is never recorded — no form field, no password, no file content — so it is not in the details either.
Live, and taking it with you
While the page is open it keeps itself current: new entries appear at the top every few seconds and as soon as a job starts or ends, without moving the part you are reading. The Live marker beside the buttons says when it last refreshed; it pauses while the browser tab is in the background.
Download CSV saves what the filters show — from the whole record, not only the entries on the screen — as a spreadsheet file, up to 20,000 entries. Narrow the filters or the dates to reach further back than that.
How far back it goes
Everything is kept for a year. Every change asked of the panel is recorded — by you, by a temporary login or an account, by the panel's own scheduled work, or by Tia — whether it went through, was refused or failed. The newest rows sit in the live record; older ones move to a compressed archive on this server and stay there for 365 days, and the page reads through both. The page says how far back the record goes.
- The archive has a size bound (32 MB, compressed). On a very busy server it can cover less than a year: the oldest files go first, and the page still says where the record starts.
- So that no single sign-in can fill that bound, a run of the same kind of entry becomes one line. Past five refused or failed requests in ten minutes, a sign-in's next ones are one line — N more refused or failed requests. A temporary login or an account past 120 changes in ten minutes gets one line for the rest — N more requests. Your own changes as the owner are always kept one by one. When you log in as an account, what you do there is counted apart from what the account does itself, and says it was you.
- What a request sent is never recorded — no form field, no password, no file content, and never the panel's private address. A row says what was done, to which project or website, by whom, and how it ended.
- Many refusals from one sign-in in a few minutes (a script retrying the same call) are written as the first few, then one row that counts the rest.
- Jobs: every job's outcome is kept for the same year, and its full log while the job is in the job history. The job history is shorter still: the panel keeps the newest twenty jobs, plus each project's own newest eight from the last fourteen days (never more than 200 in all), and a job that has not finished is never dropped. An older job's row still says how it ended, and which step it failed at.
Nothing here is a backup. If you need to keep a job's whole log — one that explains an outage — copy it out while it is here.
The same log on the Security page
Security has an Activity log of its own, and it is the same actions record: each row is the sentence, then the action's short name in a column of its own, and the filter there reads that short name, with a row limit. The difference is what each one is for: the Security page answers "who has been in this panel and what did they touch", beside the passwords, sessions and lockouts it belongs with. This page answers "what has been happening on this server", and it is the only one of the two that also shows the panel's own jobs. Reach for whichever question you have — see Security.
What is recorded that you might not expect
- Refused things. A change the panel turned down is an entry of its own, marked Refused, with the reason in its details — often the fastest explanation of why something did not happen.
- Revealing a secret. Opening a hidden value — a database password, a backup password, a stored token — is written down, so a look is never silent. Nothing records the value itself.
- The panel repairing itself. Automatic repairs are on by default, and every one of them lands here as Self-heal, whether it worked or not. See The panel, page by page.
- Push deploys. A deploy triggered by a
git pushis recorded as A push to git, with the repository it came from. - Tia's changes. Each one is recorded as Tia's, and says (you approved it) when you said yes on the approval card.
How to check it worked
- Open Activity. The newest entry is something you recognise — your own sign-in, or the last thing you changed.
- Set Outcome to Refused or Failed. What is left is everything that did not go through, each with its reason under Details.
- Set Who to Automatic (the panel itself). What is left is the panel working unattended: renewals, backups, its own repairs.
- Press Details on a job's entry. Its log opens below what was recorded.
If it went wrong
- The page says the demo hides this one thing — you are signed in as the read-only demo login, which is refused this record on purpose: it carries the owner's own addresses. Sign in as the owner. See Let someone else in.
- "Nothing matches these filters" — press Clear the filters, or widen When. If an entry is older than what is kept (see above), it is gone.
- "Nothing has been recorded on this server yet" on a server that has been used, or the page cannot read the record — something is wrong with reading it, not proof that nothing happened. Press Try again, then check Server → Health and When something is broken.
- The Live marker says it is not updating — the panel did not answer the last refresh. The entries shown are still true; reload the page.
Something unclear?Ask Tia