ProxCloud: A Portal for Proxmox in NextCloud �Students: Siena Malcolm, Robert Velez, Alisa Bakirova�Instructor/Faculty: Seyedmasoud Sadjadi, Florida International University�Fall 2023 Senior Design Project
FLORIDA INTERNATIONAL UNIVERSITY
Bridging Nextcloud and Proxmox through API Integration
In modern IT environments, the coexistence of powerful tools such as Nextcloud for file synchronization, sharing, and collaboration, and Proxmox for virtualization, poses a challenge due to the absence of native compatibility. This capstone project aims to address this gap by developing a seamless integration solution using APIs. The successful completion of this capstone project will yield a practical solution that enhances the interoperability between Nextcloud and Proxmox. By creating a user-friendly interface and leveraging the power of APIs, users will be able to seamlessly manage and monitor Proxmox virtual machines within the familiar Nextcloud environment, optimizing the efficiency and user experience of both platforms.
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
The proposed solution involves the creation of a custom third-party app within the Nextcloud ecosystem. Leveraging the capabilities of the Nextcloud API and Proxmox API, this app will act as a bridge, facilitating communication between Nextcloud instances and Proxmox servers.
COLLEGE OF ENGINEERING AND COMPUTING
FLORIDA INTERNATIONAL UNIVERSITY
The Code
JavaScript is a high-level, interpreted programming language that is primarily known for its role in web development. It is a versatile language that allows developers to create dynamic, interactive, and client-side applications within web browsers.
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING
Environment
Due to our system limitation, for our development, we used Docker, Ubuntu 20.04.6, and Oracle VM VirtualBox to ensure stability. This environment is running on Win, and the Linux Development feature should be enabled.
COLLEGE OF ENGINEERING AND COMPUTING
CORS
To ensure the functionality of our project, CORS, and CSP Policy have to be bypassed
Due to the ProxMox set-up environment which is not configured to
ensure cross-website access. While we were able to by-pass 501 error by editing
Our .php, .js and .pm files using JavaScript, HTML and Perl, we could not proceed further
Due to the 308 error.
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING
nginx
To bypass the 308 error nginx as a reverse proxy should be configured. By set it up in different env such as Docker and creating a .conf file to force web-browser use custom headers and allow redirection.
COLLEGE OF ENGINEERING AND COMPUTING
Postman
POSTMAN can be used to easily by-pass the web-development issue and showing functionality of the calls.
COLLEGE OF ENGINEERING AND COMPUTING
Final Product
Using an API call (the trigger is a button), we log in to the site and gain access (via authentication token) to ProxMox, where we can already control machines using the built-in functionality.
COLLEGE OF ENGINEERING AND COMPUTING
References
FLORIDA INTERNATIONAL UNIVERSITY
COLLEGE OF ENGINEERING AND COMPUTING