mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2026-07-19 22:23:50 -04:00
Closed
opened 2026-02-22 18:25:19 -05:00 by yindo
·
9 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
documentation
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#1539
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 @tcsenpai on GitHub (Sep 24, 2024).
Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/2360
Description
Hello!
I am using the Windows app on a PC on my network.
As I am using a laptop in the same network for daily usage, I'd like to access my anythingllm instance through LAN.
As far as I understood, by enabling discovery in Admin settings I should be able to do that.
I have indeed access to [lan ip]:3001 but it returns a "Not found" string without any other explanation.
In the past, using Docker, I was able to reach 3001 and the app just fine.
I could not find any instructions in the docs either.
@olariuromeo commented on GitHub (Sep 24, 2024):
To enable access to your Docker container from another device on the same LAN, you need to ensure the following:
Network Connectivity: Ensure the PC and the laptop are on the same network and can communicate via LAN.
Docker Container Access: The container should be accessible through the host's IP and port. By default, Docker containers are isolated, and you need to expose the container's network to allow external access.
Steps to achieve this:
1. Expose the container on the host network
In your
docker-compose.ymlfile, you can specify theextra_hoststo bind the container's network to the host's gateway so that the container can be accessed from other devices on the LAN.Add the following to your
docker-compose.ymlunder the service configuration:The key is the
portssection, which exposes port3001of the container to port3001on the host.2. Allow External Access via Firewall
You also need to ensure that the host machine's firewall allows incoming connections on port 3001 from other devices on the LAN. If you're using UFW (Uncomplicated Firewall), add a rule to allow access on port 3001:
This allows access to port 3001 from any device within the
192.168.0.0/24subnet.3. Check Docker Network
Ensure that the Docker network is properly configured. By default, Docker uses a
bridgenetwork. For communication between containers and external devices, ensure that your container is using a bridge or host network:You can set up a custom Docker network in
docker-compose.ymlas follows:4. Restart Docker Compose
After updating the
docker-compose.ymlfile, restart the services to apply the changes:5. Test Access from Another PC
Once Docker is running with the updated configuration and the firewall allows access, test the connection by accessing
[host_machine_ip]:3001from your laptop or any other device on the same LAN.Summary:
By exposing the container port with
docker-composeand adding firewall rules, you can access your Docker service from another machine on the same LAN. The key components are:extra_hoststo bind the container network to the host.To add an Nginx service that proxies traffic from a subdomain on port 443 to your application running on port 3001, you need to:
docker-compose.ymlto forward traffic from the subdomain to your application.Step-by-Step Setup:
1. Modify
docker-compose.ymlIn your existing
docker-compose.yml, add a new Nginx service that will handle traffic on port 443. It will also forward traffic to your app running on port 3001.Here's an example of how to structure the
docker-compose.yml:In this setup:
app_serviceis your application running on port 3001.nginxwill listen on port 443 for HTTPS traffic and forward it to your app./etc/nginx/certs.2. Create
nginx.conffor Nginx ConfigurationYou need to create an Nginx configuration file that will handle the SSL certificate and proxy traffic to your app.
Here’s an example
nginx.confthat:app.example.com) on port 443.This configuration does the following:
443and applies the SSL certificates.app_service:3001.app.example.comis the entry point.3. Obtain SSL Certificates (Optional)
If you want to secure your connection using SSL, you can use Let's Encrypt. You can generate the SSL certificates using Certbot.
Here's how to obtain certificates for your subdomain:
Install Certbot and its Nginx plugin on your machine (or inside a container).
Run Certbot to automatically generate and install certificates:
This command will handle everything, from generating SSL certificates to automatically updating your
nginx.conffile with the correct paths for the certificates.Alternatively, if you generate the certificates manually, ensure they are placed in the
/certsdirectory, and the paths innginx.confpoint to them.4. Apply the Subdomain Configuration
Replace
app.example.comwith your actual subdomain. Ensure that:443is open on your firewall to allow HTTPS traffic.You can add the firewall rule with UFW as follows:
5. Test the Setup
Once your
docker-compose.ymlandnginx.confare configured:Rebuild your containers:
Access your application using the subdomain:
Nginx will handle the SSL connection and forward all requests to your app running on port
3001.Summary:
docker-compose.ymlto handle SSL and proxy requests.To set up and run Qdrant, a vector database, as part of your
docker-composeconfiguration for handling vectors, follow these steps. This guide explains how to add the Qdrant service to yourdocker-compose.yml, how to configure the necessary files, and how to get the service running for vector search.Step-by-Step Guide:
1. Download and Install Qdrant
Qdrant is available as a Docker image, so there’s no need to install it manually. You can simply pull the Qdrant image and configure it in your Docker Compose.
2. Update
docker-compose.ymlHere's the Docker Compose configuration for running Qdrant as a service. This includes the necessary ports and volumes for persistent data storage:
Explanation of the Configuration:
image: qdrant/qdrant:latest: This pulls the latest version of Qdrant from Docker Hub.ports: These map the necessary ports for the HTTP API (6333), gRPC API (6334), and distributed deployment (6335) to your host.volumes: Theqdrant_datadirectory on your local machine is mounted into the container for persistent storage.extra_hosts: This is used to allow the container to resolve specific hostnames for internal networking.configs: Theqdrant_configsection defines a minimal configuration for Qdrant, setting the log level toINFO. You can customize this configuration based on your needs.3. Download and Run the Qdrant Container
To run Qdrant, follow these steps:
Create a new folder for the Qdrant configuration and data:
Pull the latest Qdrant image from Docker Hub:
Start the Docker containers with the updated
docker-compose.yml:This command starts Qdrant and any other services in the background (
-dstands for "detached mode").4. Verify Qdrant is Running
To check if the Qdrant container is running correctly:
You should see a container with the name
qdrantlisted as running. Additionally, you can verify the API by making an HTTP request to Qdrant:This should return the list of collections (if any exist) from Qdrant.
5. Expose Qdrant to Your LAN
Make sure that the
docker-compose.ymlis correctly configured to expose Qdrant on your local network (LAN). In this case, theextra_hostsdirective helps make the service accessible from other machines within the network.6. Optional: Add Nginx for HTTPS
If you want to expose Qdrant via HTTPS and make it accessible via a domain/subdomain, you can add an Nginx service in the same
docker-compose.ymlfile, similar to what we discussed earlier for your app.Example Nginx Config for Qdrant:
After configuring Nginx, restart the services to expose Qdrant over HTTPS using your subdomain.
Summary of Steps:
docker-compose.ymlwith Qdrant as a service.This setup will allow you to handle vector data using Qdrant in your Docker environment, with the option to expose it securely over the internet using Nginx.
it is better not to mix these services, but to have them all in the same network, so you have three separate applications.
** Add qdrant in your bakend app and Have fun! wherever you are,you have your data in your pocket**
Here's the final comment added:
Final Comment:
If you want more security, add a reverse proxy with Caddy plus Redis in the front, and create two networks: one public and one private. Connect only Caddy to the public network and route traffic through Caddy to access the private network. The other containers should remain connected only to the private network. This setup helps isolate your services and provides more security. I would explain more but I will limit myself to that.
@timothycarambat commented on GitHub (Sep 24, 2024):
@tcsenpai
Correct, then you need to close and reopen the app when you edit that setting. Then the app should attach to 0.0.0.0 and other devices can see it.
Ah, there is some confusion on the UI part. The desktop app serves the GUI only within the client, but that discoverability is if you want to use the API for the desktop client. Only the docker version serves the GUI from the server - so that it can be accessed in a browser.
The desktop app has never served the UI from the server, intentionally.
@timothycarambat commented on GitHub (Sep 24, 2024):
@olariuromeo I highly doubt you wrote that comment out and pretty sure its AI. Please dont post comments generated by AI for helping people. The comment you posted would not have helped the OP at all and was mostly irrelevant to their question.
Or just use a better model if you're going to do that and maybe limit
max_tokens.@olariuromeo commented on GitHub (Sep 26, 2024):
the comment was created by me, AI only did the translation and formatting of the text and the grammar correction, my englesh its nor perfect, if you think that the configuration of nginx and the one for anything, nginx and qdrant docker compose files is wrong, which I already use successfully in every application and it works perfectly, any suggestion is welcome. There are 3 iterations for each app translation, my model is limited to 8k. the nginx configuration is the one you provided a few months ago and work very well qdrand config i created myself and do the job. anyting-llm docker compose is adaptation from your docker run documentation and work very well for me, but you know beterr the app
@timothycarambat commented on GitHub (Sep 26, 2024):
@olariuromeo Apologies then, it was just so verbose and was not related to the question from OP so I assumed that as we have been recently spammed with AI issues/comments recently and thought it was more of the same.
@olariuromeo commented on GitHub (Sep 27, 2024):
@tcsenpai commented on GitHub (Sep 28, 2024):
Hi @olariuromeo , thanks for the reply.
Let me clarify: I have no issues using Docker both locally and publicly, I'd like to do the same while running the app itself.
Is that possible?
@paulerbear commented on GitHub (Feb 24, 2025):
Hi! So I'm using AnythingLLM with my Windows-based Homelab PC running the standalone desktop application. I want to access this AnythingLLM instance on my LAN from my macbook. How do I do this?
@timothycarambat commented on GitHub (Feb 25, 2025):
If you want a user interface across your LAN, you need to run the docker-based version of AnythingLLM
[DOCS]: Unclear how to access the app on local networkto [GH-ISSUE #2360] [DOCS]: Unclear how to access the app on local network