Creating a Marketplace server
Based on Debian 11 with HTTP method.
This works with the HyperCloud dashboard machine uploading images for created apps via ssh to the Nginx data directory. This is then presented to the dashboard via HTTP so the important rights needed on the market place server are:
- The dashboard server must be able to log in to the marketplace server, usually using
oneadmin
, andoneadmin
rights must allow writing to the Nginx data directory. - Nginx must have rights to read the assigned data directory on the marketplace server.
Follow the instructions as in HyperCloud Instances.
- Create a Debian 11 VM, update it and install Nginx:
- Create User:
- Log in as that user (oneadmin) and edit the file called
~/.ssh/authorized_keys
- Get the ssh key for the oneadmin user from the HyperCloud dashboard (while logged in as oneadmin, click the username at the top right of the screen, select settings, select the auth tab and copy the Public SSH key)
- Paste that into the
authorized_keys
file on the new host - Create a directory for the images - for example
/srv/my_market
- Make sure the oneadmin user has write permissions to that directory
- Create an Nginx config for the service in
/etc/nginx/sites-enabled/my_market
, the bare minimum for this is something like:
systemctl restart nginx
)
Create a Private Marketplace
- In the HyperCloud management GUI browse to Storage -> Marketplaces
- Click the green + button.
- Add a name and fill in the details - replacing [NEW_VM_IP] with the correct details.
- Storage backend must be "HTTP server" for this new marketplace.
- Base URL is IP / name with HTTP and :8080 to match the Nginx configuration.
- Directory path is used to upload images to the server by the oneadmin user. It is not an HTTP based reference.
- Storage bridge list is IP addresses (or URLs) of the server(s) that the system will ssh image files to - i.e. the new marketplace server's IP. If it is left blank, it will assume that the market place is located on the local host (itself).