https://github.com/isislab-unisa/vm-lab
Manage all your VMs in the browser.
https://github.com/isislab-unisa/vm-lab
file-explorer postgresql python sftp sqlalchemy ssh streamlit terminal vm
Last synced: 4 months ago
JSON representation
Manage all your VMs in the browser.
- Host: GitHub
- URL: https://github.com/isislab-unisa/vm-lab
- Owner: isislab-unisa
- License: mit
- Created: 2024-11-04T09:20:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-14T12:13:41.000Z (about 1 year ago)
- Last Synced: 2025-05-29T19:33:01.612Z (about 1 year ago)
- Topics: file-explorer, postgresql, python, sftp, sqlalchemy, ssh, streamlit, terminal, vm
- Language: Python
- Homepage:
- Size: 743 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VM Lab




## Welcome
**VM Lab** is a web-based platform for managing virtual machines (VMs), users, and bookmarks, designed for educational, research and work environments. It provides a user-friendly interface for both end-users and administrators, with robust authentication, role-based access control, and seamless integration with SSH/SFTP modules.

## Features
- **User Management**: Registration, approval workflow, role assignment, and credential editing.
- **Role-Based Access Control**: Fine-grained permissions for Admins, Managers, Sidekicks, Regular Users, and New Users.
- **VM Management**: Create, assign, edit, connect, and delete VMs with secure password/SSH key handling.
- **Bookmarks**: Save and manage useful links.
- **Interactive UI**: Built with Streamlit, featuring custom components like interactive data tables and dialogs.
- **Secure Authentication**: Uses [Streamlit-Authenticator](https://github.com/mkhorasani/Streamlit-Authenticator) with encrypted credentials and session management.
- **Database Integration**: PostgreSQL backend with SQLAlchemy ORM.
- **Modular Architecture**: Clean separation of backend, frontend, utilities, and configuration.
- **Deployment Flexibility**: Supports both Docker-based and local development setups.

## Other modules
This project is part of a modular architecture. Find out more about it [here](https://github.com/isislab-unisa/vm-lab/wiki/The-External-Modules).
- [SSH Module](https://github.com/isislab-unisa/alfresco-ssh)
- [SFTP Module](https://github.com/isislab-unisa/alfresco-sftp)
## Documentation
Full documentation and guides are available in the [Wiki](https://github.com/isislab-unisa/vm-lab/wiki).
## Contributing
- See [Contributing-To-The-Wiki](https://github.com/isislab-unisa/vm-lab/wiki/Contributing-To-The-Wiki) for documentation standards and contribution guidelines.
- Issues and feature requests are welcome!
## License
[MIT License](LICENSE)