mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2026-07-19 14:13:35 -04:00
[GH-ISSUE #5256] [BUG]: Data loss and breaking changes introduced by latest image update - encryption key lost, port changed without migration path #4988
Closed
opened 2026-06-05 14:51:20 -04:00 by yindo
·
2 comments
No Branch/Tag Specified
master
5846-bug-when-scrolling-up-scrolling-jumps
refactor-remove-workspace-pfp
5969-bug-stopgenerationbutton-disappears-on-the-first-prompt-that-initiates-an-agent-session
2235-bug-how-to-upload-a-folder-with-subfolders-with-files-to-anythingllm
5990-workspace-update-fails-with-unknown-argument-router_id-v1130v1150-intel-mac
opencomputer-examples
pg
feat/image-generation-translations
feat/image-generation
5924-bug-meeting-summary-fails-with-sincludes-is-not-a-function-when-default-llm-is-anthropic-claude
render
feat/uniform-modal-component
5883-bug-unescaped-content-in-json-strings-being-passed-to-document-generator-tools
5901-bug-api-update-embeddings-fails-prisma-argument-filename-is-missing-on-workspace_documentscreate-desktop-windows-v1141
hybrid-search
1981-translations
5752-bug-prompts-to-local-jan-endpoint-unresponsive
feat-disable-native-tool-calling-env-var
5676-bug-non-ollama-agent-providers-do-not-parse-and-present-reasoning-content
feat/markdown-web-scraping
5717-bug-apiv1documentupload-silently-drops-metadata-field-in-desktop-1130-arg-count-mismatch-nested-payload-key
fix/aibitat-context-overflow
5711-bug-erratic-deepseek-v4-flash-the-agent-model-failed-to-respond-400-the-reasoning_content
5631-feat-custom-api-request-timeouts-for-ai-providers
feat-reasoning-control
feat-agent-clarifying-questions-translations
5583-bug-lm-studio-provider-does-not-present-reasoning-output
5313-normalize-translations
feat/memory-translations
5305-lemonade-embedding-engine-swallows-errors-falsely-reports-documents-as-embedded
5060-bug-agent-interactions-agent-are-not-persisted-to-thread-history-via-api
pptx-subagent
feat-render-images-from-mcp-tool-results
stt-provider-expansion-openai-api-compatible
feat-file-search-agent-tool
feat-native-embedder-job-queue
5189-normalize-translations
feat-file-search-agent-tool-translations
i18n-eslint
5140-auto-migration
5112-bug-openrouter-failed-message-bug
3506-feat-parameters-for-openrouter-models
4992-feat-preserve-scroll-position
4973-bug-markdown-numbered-list-display-in-reasoning-pane
desktop
4938-bug-pending-chat-rerendering-ui-bug
quickstart-env
node-llama-cpp-in-container-cuda
node-llama-cpp-in-container
ollama-in-container
4817-feat-set-cooldown-per-mcp-server
4845-keyboard-shortcuts-to-navigate-in-chat
4844-feat-reorder-threads-by-latest-interaction
standardize-username-constraints-normalize-translations
4792-feat-refactor-workspacepfp-image
1382-embed-ip-improvements
1382-bug-embed-api-improvements
refactor-eslint-frontend
4687-feat-refactor-vector-db-providers
4615-feat-disable-apidocs-with-environment-variable
4559-feat-agent-web-search-enable-ordering-of-results
4599-bug-ollama-race-condition-bug
4572-bug-lmstudio-provided-llm-stopped-working-with-anything-llm-after-upgrading-to-190
4508-agent-youtube-transcript-analysis
4497-feat-workspace-names
frontend-eslint
ollama-lmstudio-auto-context-window
4431-validate-vector-database-connectioN
2019-slash-command-keyboard-selection
microsoft-foundry-provider
4431-validate-vector-database-connection
4325-sys-prompt-var-improvements
3209-feat-apiv1workspacestream-chat-sources-citations
4210-bug-voice-to-text-overwrite
4136-feat-jan-as-a-backend-server-option
4172-feat-openai-o3-support
1.8.3-rerelease
web-push-notifications-service
tasks
3955-feat-jinaai-embedder-provider-support
3921-feat-agent-skills-uiux-improvements
3901-bug-validfunccall-checks-optional-arguments
keyboard-dev
1787-custom-roles-and-permissions
add-jira-slack-data-connector
office-extension-wip
lightmode-dropdown-color-update
3586-bug-agent-flow-function-description-provided-by-user-is-not-seen-in-the-llm-query
3463-bug-agent-continues-to-run-if-request-failed-even-after-exit
3439-feat-call-variables-within-the-flow-api-block-url-field
3282-manager-view-models-workspace
3280-token-counting-server-side-truncation-improvements
3147-bug-embedded-chat-widget---not-considering-query-mode-option-always-working-in-chat-mode
2995-feat-disable-temperature-setting-for-deepseek-r1-deepseek-reasoner-model
2827-feat-perplexity-citations
2866-feat-finally-a-gemini-models-endpoint
2647-feat-hpp-header-for-a-c++-code-file-mime-addition
lancedb-revert
1656-feat-implement-tooltip-ui-designs
2011-feat-bump-perplexity-models
1873-feat-auto-add-and-watch-folder-for-document-uploads
1297-feat-gemini-agent-support
1759-bug-ui-bug-fixes
1686-feat-implement-winston-for-logging
1536-bug-toggling-on-users-can-delete-workspaces-does-not-take-effect
agent-ui-mobile-styles
1522-feat-chromadb-support
1595-bug-unable-to-get-live-web-search-and-browsing-agent-working-using-google-custom-search-engine-error-getaddrinfo-enotfound-http-errno-3008
1582-bug-lm-studio-does-not-allow-for-different-model-selection
1312-bug-usernames-should-not-be-case-sensitive-when-logging-in
1029-feat-hf-serverless-inference-api
1086-feat-implement-normalized-input-fields
knowledge-graph-support
644-bug-uploaded-file-name-does-not-match-the-displayed-file-name-after-the-upload
v1.15.0
v1.14.2
v1.14.1
v1.14.0
v1.13.0
v1.12.1
v1.12.0
v1.11.2
v1.11.1
v1.11.0
v1.10.0
v1.9.1
v1.9.0
v1.8.5
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.8
v1.7.6
v1.7.5
v1.7.4
v1.4.0
v1.3.0
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.1
v1.1.0
v1.0.0
Labels
Clear labels
Desktop
Docker
Integration Request
Integration Request
OS: Linux
OS: Mobile
OS: Windows
UI/UX
blocked
bug
bug
core-team-only
documentation
duplicate
embed-widget
enhancement
feature request
github_actions
good first issue
investigating
needs info / can't replicate
possible bug
pull-request
question
stage: specifications
wontfix
Mirrored from GitHub Pull Request
No Label
possible bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Mintplex-Labs/anything-llm#4988
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @monksofzero on GitHub (Mar 23, 2026).
Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/5256
How are you running AnythingLLM?
Docker (local)
What happened?
(Description from Claude Sonnet 4.6 which was used for troubleshooting the related docker, anythingllm, ollama config problems)
Environment:
AnythingLLM Docker image: mintplexlabs/anythingllm:latest
Host OS: Windows 11
Docker Desktop on Windows
Previous working version: unknown (was using :latest)
Date of breakage: March 23, 2026
Description:
After restarting the AnythingLLM Docker container today, the :latest image silently pulled a new version that introduced several breaking changes with no migration path, resulting in complete loss of access to all previous chat history and workspaces.
Breaking changes observed:
Internal port changed from 8080 to 3001 with no warning or documentation, causing the container to appear broken when accessed at the previously working URL.
Encryption key not persisted reliably — on restart with the new image, the EncryptionManager logged Self-assigning key & salt instead of loading the existing key, making all previously stored chat data unreadable even though the database file (anythingllm.db) was intact and present.
Volume permissions changed — the new image introduced an EACCES: permission denied error on /app/data/models/context-windows that did not exist with the previous image, requiring user: "0:0" workaround to run at all.
Silent data reset — logs showed EmbeddingEngine changed from undefined to native and Vector configuration changed from undefined to lancedb, treating a previously configured installation as a fresh setup.
Steps to reproduce:
Run AnythingLLM using mintplexlabs/anythingllm:latest with a named Docker volume for storage
Stop the container with docker compose down
Restart with docker compose up — Docker pulls the new :latest image
Container fails to start due to permissions error
After resolving permissions, container starts but generates new encryption key, making all previous data unreadable
Expected behavior:
Breaking changes should never be introduced silently via a :latest tag update
The encryption key must be persisted reliably in the storage volume so data survives container restarts and image updates
If a port changes, there should be clear release notes and a migration path
The app should warn loudly if it cannot find an existing encryption key rather than silently generating a new one
Actual behavior:
All previous chat history and workspaces are permanently inaccessible
No warnings or errors clearly indicated data was at risk
Multiple hours of troubleshooting required just to get the container running again
Suggestion:
Store the encryption key explicitly in the /app/data storage directory so it survives image updates
Treat port changes as major version bumps with clear changelogs
Add a startup check that detects existing data and warns if encryption key is missing rather than silently regenerating it
Are there known steps to reproduce?
Steps to reproduce:
Run AnythingLLM using mintplexlabs/anythingllm:latest with a named Docker volume for storage
Stop the container with docker compose down
Restart with docker compose up — Docker pulls the new :latest image
Container fails to start due to permissions error
After resolving permissions, container starts but generates new encryption key, making all previous data unreadable
Reference issue #3813 (data loss on abnormal shutdown) and #4522 (encryption key self-assigning on Docker) as related issues
@timothycarambat commented on GitHub (Mar 23, 2026):
Not true, and in fact is a docker config you can set yourself. Not sure where you got that information.
The chat data is not encrypted and rolling the key is normal. It is only used for communicate payload signing between collector<>server so the collector only responds to real requests.
Again, a docker permission. Sounds like you are trying to run two containers at the same time or something - not somehting with the app because we dont control that. Also the context-window finder folder has been a thing for about 10 months now - so it is not new.
The default is lancedb - there is no undefined option. If you were on a fresh setup it would still be lance anyway, not undefined.
How are you running the container? Something is clearly wrong on the user side and whatever that issue is, is the cause of your issues because it seems like the container or user trying to run the container does not have access to the storage folder thus resulting in all of your issues.
Any logs would also help as well. All of this is just a docker config issue though - not code related.
@monksofzero commented on GitHub (Apr 7, 2026):
Thanks. I agree: I think it was a multitude of issues but mostly with
docker container configuration. I reconfigured the docker compose file and
have re-connected to the database that I thought I'd lost.
On Mon, Mar 23, 2026 at 8:45 PM Timothy Carambat @.***>
wrote: