Table of Contents generated with DocToc
- GenieACS Deployment Tools
GenieACS is a complex software stack that can be installed in many ways, and this repository contains the basic deployment tools to make your GenieACS installation a successful one.
Please, I ask you to contribute to the repository through Pull Requests (PRs). Together we can improve any of the different deployment processes described here - Or even add new deployment methods!
Using any of the installation methods, please bear in mind that I have always found that 4GB is the minimium amount of RAM that the software needs for its processes, otherwise you may happen to fall into random errors.
In the genieacs-deploy-helmfile/
folder there is an example deployment leveraging Helmfile.
Modify the values files accordingly to make it work inside your cluster. Tested independently (not reflecting current example values) in a K3s cluster with MetalLB Load Balancer.
Installation process:
helmfile -f genieacs-deploy-helmfile/helmfile.yaml apply
The easier option is to install it using Docker Compose, as it needs less know-how. Here down you have two options: Instructions for Debian 10, and the instructions for CentOS 7.
apt update
apt dist-upgrade -y
apt autoremove -y
apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common sudo openssh-server htop avahi-daemon tcpdump wget
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt update
apt install -y docker-ce
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
curl -L https://raw.githubusercontent.com/docker/compose/1.24.1/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose ## In order to enable command-line completion of Compose
chmod +x /usr/local/bin/docker-compose
cd /opt && git clone https://github.com/GeiserX/GenieACS-Docker && cd GenieACS-Docker
yum update -y
yum install yum-utils device-mapper-persistent-data lvm2 git -y
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl start docker
systemctl enable docker
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
cd /opt && git clone https://github.com/GeiserX/GenieACS-Docker && cd GenieACS-Docker
docker pull drumsergio/genieacs:1.2.8
or:
docker build -f GenieACS.dockerfile . -t drumsergio/genieacs:1.2.8
If you decide to build the Dockerfile, do not change its name (tag). If you wish to modify it, change docker-compose.yml accordingly.
Modify the docker-compose.yml
file accordingly if you plan to deploy into production. Comment out the volumes:
directive if you encounter problems in the installation.
docker-compose up -d
To log into the container, issue the command docker exec -it genieacs /bin/bash
. If you happen to be managing this setting in your company, it's better to have some knowledge of Docker.
The UI will be available at port 3000
. You will see a wizard where you can configure GenieACS according to your needs.
There is a last method for bare-metal installations. If you want to use GenieACS inside a VM you have a Vagrantfile ready to be deployed in VirtualBox. Although the use of Vagrant alongside VirtualBox is more development-oriented, it can be used along with your private Hyper-V or VMware cluster too, if you change the Vagranfile accordingly.
For this setting to work, you need Vagrant installed on your computer https://www.vagrantup.com/docs/installation/ and of course, VirtualBox if you decide to use this provider with the Vagrantfile I provided https://www.virtualbox.org/wiki/Downloads
Then, you simply issue the command vagrant up
in the directory where the Vagrantfile is.