New users have unrestricted root terminal access to containers (security concern)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 37.4k
- Forks
- 3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 73
Description
What problem will this feature address?
Description
When a new user is added to the Dokploy dashboard and granted access to an application, they automatically gain terminal access to the underlying Docker container.
The terminal session runs with root privileges, which introduces significant security risks.
Current Behavior
-
Any user with access to an application can:
- Open terminal
- Execute commands as root inside the container
-
No option to:
- Disable terminal access per user
- Restrict terminal permissions
- Assign non-root users
Expected Behavior
There should be fine-grained access control, including:
1. Terminal Access Control
-
Ability to:
- Enable/disable terminal access per user
- Enable/disable terminal access per application
2. User Privilege Control
-
Ability to:
- Specify which user the terminal runs as (e.g. non-root)
- Restrict command execution
Security Concerns
-
Violates principle of least privilege
-
Risk of:
- Accidental system damage
- Malicious command execution
- Container escape vectors (in worst-case scenarios)
Impact
- Major security risk in team environments
- Limits adoption in production/enterprise setups
Describe the solution you'd like
Suggested Improvements
- Allow configuration of terminal user (non-root)
- Add feature flag to disable terminal entirely
- Audit logging for terminal sessions
Describe alternatives you've considered
None
Additional context
No response
Will you send a PR to implement it?
Yes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the dashboard's application-access and container-terminal flows, then determine how user permissions and container users are represented. Done should include per-user or per-application terminal control, configurable non-root execution, restricted commands, and the proposed audit logging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- authorization, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100