Skip to content

kraftend/directus-terminal

Repository files navigation

Directus Terminal

⚠️ WORK IN PROGRESS ⚠️

This extension is currently in beta and is actively being developed. Features may change, and there may be bugs or breaking changes in future releases. Use at your own risk.

A Directus extension that allows you to use the terminal directly within your Directus instance. This extension provides an integrated terminal experience for managing your Directus environment.

This extension uses:

  • node-pty for terminal emulation
  • xterm.js for terminal rendering
  • Directus WebSocket API for real-time communication

Requirements

  • Directus instance with WebSocket support enabled
    • Set WEBSOCKETS_ENABLED=true in your Directus environment variables
  • Node.js environment with native module support (required for node-pty)

⚠️ CRITICAL SECURITY WARNING ⚠️

This extension should be used with extreme caution and only in environments where it is absolutely necessary.

We do not recommend using this extension in environments where administrators have regular SSH access with private keys. Using SSH with private keys is a more secure and standard way to access the server's terminal. This extension should only be used in environments where SSH access is not available or practical.

The terminal access provided by this extension grants users the same level of system access as the Directus application itself. This means:

  • Users with terminal access have full system-level privileges
  • They can execute any command on the server
  • They can access and modify any file on the system
  • They can install or remove any software
  • They can potentially compromise the entire server

NEVER install this extension on production environments unless absolutely necessary.

Docker Environment

When running Directus in a Docker container, this extension will only provide access to the container's environment, not the host system. This means:

  • Terminal access is limited to the container's filesystem and processes
  • Container isolation provides an additional layer of security
  • Changes made in the terminal will not affect the host system
  • Container restart will reset any changes made to the container's filesystem

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For support, please open an issue on GitHub.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published