Multi-user DeepSeek Harness on LAN: auth and limits
Sharing DeepSeek Harness on a LAN is not just "map the port and hand out the address." Authentication, session isolation, and concurrency are missing by default; skipping them means everyone edits one workspace.
Three prerequisites
Check all three before sharing.
| Prerequisite | Default state | Why it matters |
|---|---|---|
| Access scope | Localhost only | Mapping wider exposes the service |
| Authentication | Usually none | Anyone reaching it can operate |
| Session isolation | Shared | Files and history visible to all |
Reachability is not permission. A service reachable from the LAN is not ready to share until access and identity are clear.
Do not hand out internal addresses casually. Screenshots and forwarding extend exposure; share purpose and scope.
Access method
From safest to widest, adding authentication at each step.
- Localhost: the safest; only this machine.
- Specific LAN address: add a firewall allowlist and authentication.
- Reverse proxy: add TLS and access control.
- Public: not recommended without a full authentication and audit design.
Prefer localhost, then specific addresses. Map to the host's LAN address rather than all interfaces and allow only necessary devices. Proxies should handle TLS and authentication, not just forwarding.
Firewalls decide reachability. Windows Firewall and Linux firewalls block by default; open only necessary ports.
Authentication
At minimum, prove "who is calling."
- Proxy authentication: basic auth or access control at the reverse proxy.
- Token: a pre-shared token for internal tools.
- Allowlist: restrict by IP or device.
- TLS: always for public or cross-network access.
- Logs: record who accessed when.
Do not rely on obscurity. Changing the port or path stops scanning, not targeted access. Authentication belongs at the outer layer, not scattered in the app.
Store credentials separately. Do not embed in links, screenshots, or chat; rotate after sharing.
Session isolation
A single instance shares data; multi-user needs separation.
- Separate instances: each user with their own data directory and port.
- Separate environments: containers or VMs for stronger isolation.
- Shared instance: only for trusted small teams, with rules.
- Clear boundaries: who can see or delete which sessions.
- Back up: separate rollback paths per user.
A shared instance is not multi-tenant. All users operate the same session directory and plugin configuration; one wrong deletion affects everyone. For real isolation, use separate instances, accepting resource duplication.
Concurrency and resources
Multiple users share quota and local capacity.
- Model quota: concurrent requests accelerate consumption and trigger rate limits.
- Local CPU and memory: plugins, models, and sessions consume memory.
- Concurrency limits: cap simultaneous requests in configuration or proxy.
- Staggering: spread batch tasks to off-peak times.
- Monitoring: watch usage and errors, not just reachability.
Slowdowns usually come from shared quota, not the network. Check logs for rate limits before changing network settings.
Isolation also isolates failures. One user's heavy plugin or long task should not stall others; separate instances or limits help.
Failure recovery
Four failures are common in shared use.
- Slow or rate limited: quota or concurrency; reduce or separate.
- Sessions overwritten by others: shared instance; separate data.
- Service unreachable: firewall, listening address, or proxy.
- Credential leak: rotate tokens, review logs, tighten scope.
Each failure has a boundary to confirm. Separating "network unreachable" from "shared data conflicted" decides the fix.
Back up before changing topology. Shared deployments are harder to roll back after configuration changes.
Security checklist
Before opening to others, go through five items.
- Mapped to localhost or a specific address, not all interfaces
- Authentication enabled, even for LAN
- TLS for cross-network or public access
- Users and data directories clearly separated
- Logs and backups in place
All five are prerequisites, not improvements. Missing any one makes sharing a risk rather than a convenience.
Next steps
Scope, authentication, isolation, then concurrency. For remote access, read How to configure remote access. For mobile access, read How to access DeepSeek Harness from a phone. For containers, read Persisting data in Docker.
Sources: DeepSeek Harness docs, dsh CLI README, deepseek-harness repository
FAQ
Sharing DeepSeek Harness by opening the port is technically reachable but not recommended without authentication. Sessions, plugins, and keys are usually shared.
To keep users from seeing each other's sessions in DeepSeek Harness, use separate instances and data directories. An external gateway with isolation also works.
Multiple users slow down or get rate limited because DeepSeek Harness shares model quota and local resources. Concurrency and request frequency stack.
Minimum LAN protection for DeepSeek Harness is localhost-first binding, an allowlist, authentication, and logs. Do not expose the service directly to the internet.
Related Terms
- LAN access
- LAN access is reaching the service from other devices in the same local network, requiring a listening address and firewall rules.— DeepSeek Harness docs
- authentication
- Authentication verifies the identity of a caller through a password, token, or proxy access control.— dsh CLI README
- session isolation
- Session isolation keeps sessions, configuration, and data separated; a single instance does not provide multi-tenant isolation by default.— DeepSeek Harness docs
- concurrency limit
- A concurrency limit caps simultaneous requests and prevents local resources or model quota from being exhausted.— dsh CLI README
Sources
- DeepSeek Harness docs· deepseek-harness
- dsh CLI README· deepseek-ai
- deepseek-harness repository· deepseek-ai