Deploy your own AppMarket
How to build your own marketplace
To create your own marketplace, you need to follow these steps:
Install the appmarket-simple
Content server provided by OpenNebula. Instructions may have changed https://github.com/OpenNebula/appmarket-simple
Change logos and external URL
- Install yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install -y yarn
- Clone the appmarket-simple repository
git clone https://github.com/6G-SANDBOX/appmarket-simple /opt/appmarket-simple
- Install the dependencies
yarn --cwd /opt/appmarket-simple/src/public/react/ install
-
Comment line 2 and uncomment line 1 to
src/public/react/src/constants/endpoints.js -
Build the frontend
yarn --cwd /opt/appmarket-simple/src/public/react/ build
Install the appliance build chain
git clone --recurse-submodules https://github.com/6G-SANDBOX/marketplace-community.git
mkdir -p /srv/6gsandbox /srv/6gsandbox/metadata /srv/6gsandbox/appliances
ln -sf /srv/6gsandbox/metadata/ /opt/appmarket-simple/src/data
ln -sf /opt/6gsandbox/marketplace-community/logos/ /opt/appmarket-simple/src/public/logos
ln -sf /opt/6gsandbox/marketplace-community/appliances/.other-appliances/ /srv/6gsandbox/metadata/
Now, set up a simple nginx server to expose the appliances built
# /etc/nginx/sites-enabled/6gsandbox-marketplace
...
server {
...
root /srv/6gsandbox/appliances;
...
And finally edit apps-code/community-apps/Makefile.local to set a custom prefix for the appliance names, to modify the external URL for the exposed nginx server, or to modify the paths where appliances and metadata will be placed.
Refresh everything to see if everything worked
systemctl restart nginx
systemctl restart appmarket-simple
You can start building appliances now.