Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/X1Aaron/lxq
LXQ is an automation platform for LXD
https://github.com/X1Aaron/lxq
Last synced: 14 days ago
JSON representation
LXQ is an automation platform for LXD
- Host: GitHub
- URL: https://github.com/X1Aaron/lxq
- Owner: X1Aaron
- Created: 2018-10-09T19:26:38.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-25T22:08:28.000Z (over 5 years ago)
- Last Synced: 2024-08-04T09:01:55.190Z (3 months ago)
- Language: Shell
- Homepage:
- Size: 600 KB
- Stars: 34
- Watchers: 6
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LXQ
LXQ takes your server or VPS installs LXD and runs each app in it own LXD Container. During setup a wild card certificate is generated for your domain, and apps are reachable via appname.domain.com - apps are automaticly configured to work with the nginx reverse proxy, so no setup is needed. Simply type `lxd install ` wait for the installation to finish, then browse to appname.domain.com This allows you to quickly and easily install apps on one server, while keep them isolated.
# System Requirements
* LXQ is tested on Ubuntu 18.04 and is designed to be used on a fresh Ubuntu 18.04 installation.
* 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.
* Cloudflare DNS - Other DNS Providers can be added by request :)
* A domain name with support for Wildcard DNS# Commands
`lxq update`
* Updates LXQ
`lxq init`
* Enables UFW (SSH Only)
* Updates the Host
* Removes LXD Packages and Installs LXD via Snap
* Runs lxd init
* Setup and Configures a nginx container to serve as a reverse proxy
* Forwards ports 443 from the host to the nginx container
* Setups Wild Card cert from Let's Encrpt`lxq install `
* 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 `
* Removes Container
* Deletes .conf from the nginx container
* Reloads Nginx
* Updates Firewall Rules`lxq backup `
* Creates a backup of the app
* Run without a appname, it backups all containers.`lxq conf `
* purge - delete the LXQ conf file
* edit - opens the conf file to edit it
* run without an option shows you the LXQ configuation## 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`
## One-Liner
`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/` One folder for each app
* `/opt/lxq/apps//.conf` Conf file for that app
* `/opt/lxq/apps//.install` installation procedure
* `/opt/lxq/apps//.rules` Firewall Rules for app
* `/opt/lxq/apps//files/` files needed for installation or configuration