1 of 10

ProxCloud: A Portal for Proxmox in NextCloud Students: Siena Malcolm, Robert Velez, Alisa BakirovaInstructor/Faculty: Seyedmasoud Sadjadi, Florida International UniversityFall 2023 Senior Design Project

FLORIDA INTERNATIONAL UNIVERSITY

2 of 10

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

3 of 10

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

4 of 10

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

5 of 10

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

6 of 10

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

7 of 10

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

8 of 10

Postman

POSTMAN can be used to easily by-pass the web-development issue and showing functionality of the calls.

COLLEGE OF ENGINEERING AND COMPUTING

9 of 10

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

10 of 10

References

  • “Proxmox ve API - Proxmox VE.” Pve.proxmox.com,pve.proxmox.com/wiki/Proxmox_VE_API.
  • Proxmox VE API. https://pve.proxmox.com/wiki/Proxmox_VE_API
  • i12bretro. Quick overview of Proxmox VE REST API. YouTube. https://www.youtube.com/watch?v=Iuyd2TXe8SA
  • Develop for Nextcloud: App development. https://nextcloud.com/developer/
  • Proxmox VE API. https://pve.proxmox.com/wiki/Proxmox_VE_API
  • i12bretro. Quick overview of Proxmox VE REST API. YouTube. https://www.youtube.com/watch?v=Iuyd2TXe8SA
  • Develop for Nextcloud: App development. https://nextcloud.com/developer/

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING