open-index/open-npm huggingface dataset:
npm package: @kraftend/directus-terminal
Description: A Directus extension that allows you to use the terminal in your Directus instance
Latest version: 1.0.0

# 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](https://github.com/microsoft/node-pty) for terminal emulation
- [xterm.js](https://xtermjs.org/) 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](LICENSE) file for details.

## Contributing

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

## Support

For support, please [open an issue](https://github.com/kraftend/directus-terminal/issues) on GitHub.