All Projects → Roche → Lxdhub

Roche / Lxdhub

Licence: apache-2.0
Display, search and copy LXD images using a web interface.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Lxdhub

emrah-buster-templates
The templates of the emrah-buster installer.
Stars: ✭ 57 (-53.28%)
Mutual labels:  container, lxc
softwarecontainer
Framework to manage and contain applications in an automotive setting
Stars: ✭ 19 (-84.43%)
Mutual labels:  container, lxc
ProxmoxVE PHP API
ProxmoxVE PHP API
Stars: ✭ 78 (-36.07%)
Mutual labels:  container, lxc
Brein Time Utilities
Library which contains several time-dependent data and index structures (e.g., IntervalTree, BucketTimeSeries), as well as algorithms.
Stars: ✭ 94 (-22.95%)
Mutual labels:  container
S2i Php Container
PHP container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running PHP applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 96 (-21.31%)
Mutual labels:  container
Container Monitor
容器监控方案汇总
Stars: ✭ 107 (-12.3%)
Mutual labels:  container
Baetyl
Extend cloud computing, data and service seamlessly to edge devices.
Stars: ✭ 1,655 (+1256.56%)
Mutual labels:  container
Ecs Nginx Proxy
Reverse proxy for AWS ECS. Lets you address your docker containers by sub domain.
Stars: ✭ 93 (-23.77%)
Mutual labels:  container
Nghttpx Ingress Lb
nghttpx ingress controller for Kubernetes
Stars: ✭ 115 (-5.74%)
Mutual labels:  container
Nginx Php Fpm
Nginx and php-fpm for dockerhub builds
Stars: ✭ 1,419 (+1063.11%)
Mutual labels:  container
Dfimage
Reverse-engineer a Dockerfile from a Docker image.
Stars: ✭ 105 (-13.93%)
Mutual labels:  container
Plf list
A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing.
Stars: ✭ 98 (-19.67%)
Mutual labels:  container
Lxc Ci
LXC continuous integration and build scripts
Stars: ✭ 110 (-9.84%)
Mutual labels:  lxc
Hmake
HyperMake - Makes Builds Green without Worrying about Pre-requisites
Stars: ✭ 95 (-22.13%)
Mutual labels:  container
Ruby Lxc
ruby bindings for liblxc
Stars: ✭ 115 (-5.74%)
Mutual labels:  lxc
Secretary
DEPRECATED Secrets management for dynamic environments
Stars: ✭ 93 (-23.77%)
Mutual labels:  container
Caldera
Caldera allows you to create a boilerplate service that ready to run inside the container (Go language)
Stars: ✭ 114 (-6.56%)
Mutual labels:  container
Hacker Container
Container with all the list of useful tools/commands while hacking and pentesting Kubernetes Clusters
Stars: ✭ 105 (-13.93%)
Mutual labels:  container
Criu
Checkpoint/Restore tool
Stars: ✭ 1,389 (+1038.52%)
Mutual labels:  container
Pdf
Simple http microservice that converts Word documents to PDF
Stars: ✭ 107 (-12.3%)
Mutual labels:  container

LXD Hub Logo

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

Gitter

Purpose

LXDHub is a management system for linux containers (LXC). With LXDHub you can visualize LXC images of multiple (private & public) remotes. One of the key features of LXDHub is to clone LXC images from one remote to another. Therefor you can mirror public remotes to your private remote.

Installation

Prerequisites

The fastest way to run LXDHub on your computer is by pulling the LXDHub LXC image from our public remote.

# launch lxdhub
lxc remote add lxdhub https://lxdhub.xyz:8443 --accept-certificate --public
lxc launch lxdhub:lxdhub mylxdhub

# forward the port (let it be accessible from the outside)
lxc config device add mylxdhub lxdhub-web proxy listen=tcp:0.0.0.0:80 connect=tcp:localhost:3000

You can now access lxdhub from the machine you launched the container on port 80 (http). Inside the container lxdhub binds to the port 3000.

Adding your remotes:

lxc exec mylxdhub -- su -l lxdhub -c "cat << EOF >> ~/lxdhub/lxdhub.yml
  - name: efiks
    url: https://images.efiks.ovh:8443
    protocol: lxd
    public: true
    readonly: true
EOF"

# run the dbsync
lxc exec mylxdhub --  node /var/lib/lxdhub/lxdhub/packages/dbsync/lib/cli.js start -c /var/lib/lxdhub/lxdhub/lxdhub.yml

LXDHub can also be installed with other technologies:

Configuration Management

Ansible

You can also install lxdhub with ansible on any target (ssh/lxd)

NOTE: these playbooks were tested in the following environment:

  • ansible >= 2.5.1
  • Ubuntu
  • lxc (snap/native)

one can use the roles in the ansible folder to deploy lxdhub on their own server.

ansible-playbook ansible/install-lxdhub.yml -i REMOTE, [-u USER --key-file SSH_KEY]

One can also parametrize the lxdhub_version to be checked out as extra-vars. See the git tags for available versions.

ansible-playbook ansible/install-lxdhub.yml -e "lxdhub_version=v1.8.0"

You can also install lxdhub inside a lxd container:

# setup the continer to install lxdhub in
lxc launch ubuntu:18.04 lxdhub
lxc exec lxdhub -- apt update && apt install python

# install lxdhub inside the lxd container
ansible-playbook ansible/install-lxdhub.yml -c lxd -i lxdhub,

This playbook will:

  1. clone and build lxdhub inside the target
  2. setup systemctl services

Packages

Under the hood, LXDHub is split in five packages. The following graph visualizes the dependencies of each package.

Package Dependency

Name Version Description
@lxdhub/web npm version The LXDHub webinterface
@lxdhub/api npm version The REST API for the LXDHub webinterface
@lxdhub/dbsync npm version The script to synchronize multiple LXD remotes with the LXDHub database
@lxdhub/db npm version The package, which provides database functions for the @lxdhub/api and @lxdhub/dbsync packages
@lxdhub/common npm version The package, which provides common functions for all LXDHub-packages.

The packages @lxdhub/db and @lxdhub/common are solely libraries, which can not be run seperatly. Whereas the packages @lxdhub/web, @lxdhub/api and @lxdhub/dbsync can be run seperatly via Docker or NodeJS.

Tests

Prerequisites

Unit / Integration Tests

Run the automated test cases with NodeJS.

docker build -t $USER/lxdhub .
docker run -it $USER/lxdhub test
docker run -it $USER/lxdhub lint

Related

  • @lxdhub/web: The LXDHub webinterface
  • @lxdhub/api: The REST API for the LXDHub webinterface
  • @lxdhub/dbsync: The script to synchronize multiple LXD remotes with the LXDHub database
  • @lxdhub/db: The package, which provides database functions for the @lxdhub/api and @lxdhub/dbsync packages
  • @lxdhub/common: The package, which provides common functions for all LXDHub-packages
  • CONTRIBUTING.md: The contributing guidelines
  • COPYRIGHT: Copyright informations
  • publish.md: Documentation on how LXDHub is being published
  • LXC: The underlying technology behind LXDHub

People

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].