LXQ is an automation platform for LXD
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2798075 Nov 14, 2018
Permalink
Failed to load latest commit information.
apps Update murmur.install Nov 13, 2018
installer Update and rename setup.sh to installer/setup.sh Nov 8, 2018
templates Updates Nov 10, 2018
README.md Update README.md Nov 12, 2018
fix-update.sh Create fix-update.sh Nov 2, 2018
lxq Update lxq Nov 14, 2018
preseed Rename LXD/preseed to preseed Nov 8, 2018

README.md

LXQ

LXQ is an automation platform for LXD

System Requirements

  • LXQ is tested on Ubuntu 18.04 and is designed to be used on a fresh Ubuntu 18.04 VM.
  • All containers are Ubuntu 18.04
  • Processor, RAM, and Hard drive requirements are based on what/how many apps you install and usage of those apps.

Commands

lxq update

  • Updates LXQ

lxq init

  • Enables UFW (SSH Only)
  • Updates the Host
  • Removes LXD Packages and Installs LXD via Snap
  • Setup and Configures LXD
  • Setup and Configures a nginx container to serve as a reverse proxy
  • Forwards ports 80/443 from the host to the nginx container

lxq install <appname> <domain_name>

  • Creates and updates a container
  • Installs the app inside the contianer
  • Generates a .conf file, pushs it to the nginx container and reloads nginx (if needed)
  • Automatically forwards any needed ports to your app (if needed)

lxq remove <appname>

  • Removes Container
  • Deletes .conf from the nginx container
  • Reloads Nginx
  • Updates Firewall Rules

lxq backup <appname>

  • Creates a backup of the app
  • Run without a appname, it backups all containers.

lxq conf <option>

  • purge - delete the LXQ conf file
  • edit - opens the conf file to edit it
  • run without an option shows you the LXQ configuation

lxq wildcard <dns>

  • Setups Wildcard Cert
  • Only supports Cloudflare for now. Want another DNS provider? Open a Issue.

Install

First, get the script and make it executable :

wget https://raw.githubusercontent.com/aaronstuder/lxq/master/installer/setup.sh

chmod +x setup.sh

Then run it :

./setup.sh

After the install is complete :

source ~/.profile

wget https://raw.githubusercontent.com/aaronstuder/lxq/master/installer/setup.sh && chmod +x setup.sh && ./setup.sh && source ~/.profile

Available Apps

  • BookStack
  • Cockpit (Installed on the Host, Proxied via the NGINX container)
  • Nextcloud
  • Netdata (Installed on the Host, Proxied via the NGINX container)
  • Pi-hole
  • Rocket.Chat

Directory Structure

  • /etc/lxq/lxq.cfg - Main LXQ conf

  • /opt/lxq/ LXQ Install Directory

  • /opt/lxq/apps/<appname> One folder for each app

  • /opt/lxq/apps/<appname>/<appname>.conf Conf file for that app

  • /opt/lxq/apps/<appname>/<appname>.install installation procedure

  • /opt/lxq/apps/<appname>/<appname>.rules Firewall Rules for app

  • /opt/lxq/apps/<appname>/files/ files needed for installation or configuration