From f56b2bc554c6d19c4ce3f67cb5e9b7c7da4c97f1 Mon Sep 17 00:00:00 2001 From: da3dsoul Date: Mon, 14 Sep 2026 13:03:20 -0400 Subject: [PATCH] docs: add FAQ entry for resetting a forgotten password Add a FAQ entry describing the startup password-reset.json recovery file, covering the CLI, Docker, and Tray Service, and update the first run guide to point at it now that a reset path exists. --- docs/faq.md | 28 ++++++++++++++++++++ docs/getting-started/running-shoko-server.md | 4 +-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index bac537e5..e08e2d87 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -125,6 +125,34 @@ The directory for Linux/macOS might differ, if you changed it on the Docker comm [installation](/getting-started/installing-shoko-server). ::: +:::details I've Forgotten My Password — How Do I Reset It? +A forgotten password can be reset with a small file, without any direct database access. This works the same for the +CLI, Docker, and the Windows Tray Service. + +1. Create a file named **password-reset.json** in your Shoko data folder (the folder containing + `server-settings.json`) with the following content, replacing the values as needed: + + ```json + { "username": "Default", "password": "NewPassword12" } + ``` + + The username is not case-sensitive. + +2. Start the server. It will reset the password for that user, invalidate all of that user's existing API tokens + (signed-in devices will need to sign in again), delete the file, and exit. + +3. Start the server again. It boots normally and you can sign in with the new password. + +If the server exits without resetting anything, the username didn't match any user — the file is kept, so you can +correct it and restart to try again. If the server starts normally and ignores the file, the file could not be read +(invalid JSON, missing username, or empty password); nothing was changed and your server stays online. + +> [!WARNING] +> The new password is stored in plain text in the file until a successful reset deletes it. If the reset fails, +> delete the file yourself when you're done. Anyone with write access to your data folder can use this method, so +> don't expose that folder beyond what you need. +::: + :::details I've Been Banned From AniDB? The message you're encountering indicates a **temporary ban** due to excessive connection attempts. AniDB imposes such bans when it suspects data leeching through numerous rapid connection attempts. In reality, this doesn't imply any diff --git a/docs/getting-started/running-shoko-server.md b/docs/getting-started/running-shoko-server.md index 4f832396..70ed8d18 100644 --- a/docs/getting-started/running-shoko-server.md +++ b/docs/getting-started/running-shoko-server.md @@ -44,8 +44,8 @@ You'll need to create an account to use Shoko. This account allows Shoko to mana sites, enabling synchronization of watch states and collection status. There are no specific password requirements for your local account. However, we strongly recommend saving your login -information, as we currently do not offer an easy way to reset your password. If you do forget it, refer to -the [Frequently Asked Questions](/faq) page for instructions on how to reset it. +information. If you do forget your password, refer to the [Frequently Asked Questions](/faq) page for instructions on +how to reset it with a `password-reset.json` file. ## AniDB Account