Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including @lxdhub/api with all npm packages installed. Try it out:

var api = require("@lxdhub/api")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@lxdhub/api v1.10.3

Display, search and copy LXD-images using a web interface.

LXD Hub Logo

Display, search and copy LXD images using a web interface.

Prerequisites

Installation

Database

LXDHub API uses a PostgreSQL database to store its data. You must set up a PostgreSQL on your local machine or inside a docker container

Using Docker

docker pull postgres:10.3
docker run -p 5432:5432 \
           -e POSTGRES_USER=lxdhub \
           -e POSTGRES_DB=lxdhub \
           -e POSTGRES_PASSWORD=lxdhub \
           -v db:/var/lib/postgresql/data \
           -d --name db postgres:10.3

NodeJS

CLI

npm install -g @lxdhub/api

# Run locally
lxdhub-api start --cert certificates/client.crt --key certificates/client.key

Programmatically

npm install -s @lxdhub/api

Example usage in NodeJS

const { LXDHubAPI } = require('@lxdhub/api');
const fs = require('fs');
const path = require('path');

const ROOT = path.join(__dirname, '..');

const certPath = path.join(ROOT, 'certificates/client.crt');
const keyPath = path.join(ROOT, 'certificates/client.key');

LXDHubAPI.run({
    hostUrl: '0.0.0.0',
    port: 3000,
    lxd: {
        cert: fs.readFileSync(certPath),
        key: fs.readFileSync(keyPath)
    },
    database: {
        host: 'localhost',
        port: 5432,
        username: 'lxdhub',
        password: 'lxdhub',
        database: 'lxdhub'
    }
});

Docker

LXDHub supports Docker. You can pull the latest version using the brunnel6/lxdhub-api:latest tag or a specific version e.g. brunnel6/lxdhub-api:1.0.0

docker pull brunnel6/lxdhub-api:latest
docker run -v "$(pwd)/certificates:/var/lib/lxdhub/certificates" \
           -p 3000:3000 \
           -e POSTGRES_HOST=postgres \
           --link db:postgres \
           brunnel6/lxdhub-api:latest
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free