Logs, status and repairs
When something isn’t right, Credenza can tell you a lot about itself without you opening a terminal. This page covers four places to look: the status page, the log, the Activity page and Labs.
Server status
Section titled “Server status”Open /status on your server, for example http://192.168.1.10:8080/status. You don’t need to be signed in, so it works even when sign-in doesn’t. The page shows a headline (All systems normal, Some services are degraded or Something’s not working) and one row per check. It re-checks every few seconds by itself, and Check now checks straight away.
| Row | What it checks | When it isn’t healthy |
|---|---|---|
| Media server | The server is answering requests | Nothing else on the page can load either |
| Database | Credenza can connect to PostgreSQL | The database container or service is stopped, or the connection string is wrong |
| User account | At least one account exists | No account exists, so the server sends everyone to set-up. See Set-up appears again |
| Background work | The job queues that run scans, matching and artwork downloads | Nothing gets scanned or matched. The row names the queue and says whether work failed and was set aside |
| Metadata | Whether TMDB and the game providers are configured and answering | The row gives the last error, such as TMDB rejected the read access token, or says what isn’t configured |
Degraded (amber) means the server works but something is missing or failing. Unreachable (red) means a part the server depends on isn’t working.
Reading the log
Section titled “Reading the log”Go to Settings → Server → Logs. The list shows what the server has written, newest first, and the top keeps updating while you’re at the top of the list. Scroll down and select Load older to read further back.
Each line shows the time, the level, which part of the server wrote it and the message. If an entry carries an error, Show stack trace expands it. Entries written while handling a request also show that request’s ID, so you can find other lines from the same request.
Two controls narrow the list:
- The level menu. Choose All levels, Debug and above, Information and above (the default), Warnings and above, Errors only or Fatal only.
- The search box (Search messages and stack traces). It matches text anywhere in the message or the error, such as a file name, a film’s title or a word like
ffmpeg.
Both filters are applied on the server to the whole log, not just to what’s on screen. To keep large logs quick, each request reads a limited chunk of the log. So when a narrow filter comes back with Nothing matched in the most recent part of the log., there may still be matches further back: select Load older to keep looking. That’s the whole log this server still has. means you’ve reached the oldest entry.
Where the log files are
Section titled “Where the log files are”The same log is kept as files on disk, one JSON object per line. Credenza starts a new file each day, or sooner if one reaches 64 MB, and keeps the most recent 14 files.
| Install | Folder |
|---|---|
| Docker | logs inside the Credenza data folder: data/credenza/logs next to your Compose file |
| Linux package | /var/log/credenza |
On Linux, journalctl -u credenza shows the log live. With Docker, docker compose logs credenza does the same. To change the folder, the number of files kept or the level written, see Configuration.
Exporting the log
Section titled “Exporting the log”Use the Export menu at the right of the log toolbar to download a file. The export holds exactly what the list is filtered to, the same level and the same search, across the whole log, not only the entries loaded on screen.
| Format | What you get |
|---|---|
| Text file | One readable line per entry (.log) |
| JSON lines | One JSON object per line (.jsonl), for tools such as jq |
Entries are newest first. An export stops at 100,000 entries, and the file says so on its last line when it has been cut short.
What to send when you ask for help
Section titled “What to send when you ask for help”When you report a problem in the Discord or by email, include:
- The version numbers from Settings → User → About: the server’s, and the Android app’s if you use it.
- An export around the problem. Start with Warnings and above and no search. If the problem involves one file or title, search for its name instead. Text file is easiest for people to read.
- What the status page says, if any row isn’t healthy.
- What you did and what happened, including any message the app showed you.
Read the export before you share it. It contains file paths, file names and account names from your server.
Activity
Section titled “Activity”Administrators can open Activity from the rail, or from the Account menu on a phone. It shows what the server holds and how it’s being used:
- Watching and playing covers hours watched, sittings, films and episodes finished, games launched, a daily chart and what things were watched on. Choose 7 days, 30 days, 90 days or All time. Days are counted in UTC.
- Most watched and played lists the top films, shows, episodes and games, and the Most active accounts. Select an entry to see who watched it, or an account to see what it watched.
- The collection counts films, shows, games and files, how much they take up on disk, and their total runtime, broken down by genre and by decade.
- Needs attention counts titles that are Unmatched, files that are Missing, libraries whose last scan Failed, and libraries that have Never been scanned. When everything is fine, this shrinks to one sentence.
- Right now shows who is watching at the moment and what was watched recently.
Two kinds of number sit side by side on this page. Hours watched, items started and items finished cover everything since the server was set up, but count a rewatch only once. Sittings and launches count every play exactly, but only since the server started keeping that record. The page tells you the date that record began.
Settings → Server → Labs holds one-off repairs for libraries that have ended up in a state the ordinary controls can’t fix. Nothing in Labs deletes anything, and you can run each repair as many times as you like. Running a repair needs the Run repairs permission, which administrators have.
Repair match files
Section titled “Repair match files”Credenza writes a small match file next to your media, named like Cowboy Bebop.credenza.json. It records which film, show or game each folder is, so a match you fixed by hand survives the library being deleted and added again. See Fixing matches.
Older versions wrote these files under names the scanner no longer reads: goonies.json, from before the product was renamed, and a plain credenza.json in a show’s folder. The scanner can’t see a file under an old name, so it matches from the file name instead, and your corrections are quietly replaced by guesses.
Repair match files fixes that for one library at a time:
- It renames old match files to the current name. It never overwrites a file that’s already there.
- It reads every match file back.
- It points each item at the match its file names, even where the scanner had already guessed something else. A normal rescan never does this.
- It restores titles and other details you edited by hand.
When it finishes, the library’s row shows a summary, such as how many files were renamed, how many items were re-matched, how many were already correct and how many edits were restored. Titles and artwork then update over the next few minutes as the re-matches finish. Folders it couldn’t read are listed. Fix access to them and run the repair again.
Run it:
- on any library that holds TV shows or anime, if the server has been running since before show match files were renamed, and
- on any library you added after starting the server with an empty database, because the automatic rename at startup only covers libraries that already existed.
You can’t run it on a library while that library is being scanned. Wait for the scan to finish.