@lxdhub/api
TypeScript icon, indicating that this package has built-in type declarations

1.10.3 • Public • Published

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

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @lxdhub/api

Weekly Downloads

5

Version

1.10.3

License

Apache-2.0

Unpacked Size

392 kB

Total Files

383

Last publish

Collaborators

  • brunnerlivio