CIPio stands for Common Integratio Platform. It is a set of open source applications working together in order to provide a basic way of comminucating with common... [finish me]
By default, the CIPio installer installs the following:
- Docker (if not already isntalled)
- Docker Compose (if not already installed)
- The following containerized apps
- Node-Red
- InfluxDb (v1.8 and/or v2.0)
- MongoDb
- Mongo Express
- Grafana
- Mosquitto MQTT broker
- Portainer container manager
- Watchtower container updater
Web Reference | Docker Hub Reference |
---|---|
Grafana | Grafana |
Node-Red | Node-Red |
Mongo | Mongo |
Mongo-Express | Mongo Express |
InfluxDb | InfluxDb |
Mosquitto | Mosquitto |
Portainer | Portainer |
Watchtower | Watchtower |
Currently, this installation has only been tested on Ubuntu 20.04 and greater, but should also work on 18.
It requires that you have root access (sudo) in order to install Docker and its pieces.
[ 👉 You may want to read this entire README file prior to running the install script to determine if you would like to make modifications to the installation first. Custom settings can be made in the .env environment file or the docker-compose.yaml files listed below]
Open up a terminal and chage directories to the location you downloaded the CIPio install files to. Run the install script
> ./install.sh
You do not need to initially run the script as root (sudu). The script will prompt you for your root password when it runs.
The first thing that the script does is try to determine if you have Docker installed on your system. If not, it will download and install Docker for you. If you are not familiar with docker, it is an application used to create and run containerized apps on your system. You can find out more about Docker HERE.
[ 👉 In the future, the CIPio isntallations may branch out into other container system such as Podman which does not require the need to run at elevated/root levels in order to support containers, and Kubernetes]
CIPio also requires an additional Docker tool, Docker-Compose be installed. If Docker-Compose isn't automatically installed when Docker is install (at one point they needed to be installed seperately) then the install script will also download and install Docker-Compose.
Once installed, you user will also be added to the "docker" user group on your system. This will keep you from having to sudu your account in order to do to certain docker activities. You may have to exit and restart your terminal in order for this to take affect.
At this point, the isntall script will prompt you for which containers you would like to have installed. By default, all the containers listed above are installed. You simply need to answer yes to the first prompt. Please note that not all variations of containers are installed. Initially, the only variation is which version of InfluxDb gets installed. By default Influx v1.8 is installed. If you wish to venture to the use the newer release, v2.0, then you should choose No on the first promt to "install all".
You may also wish to answer "no" to the "install all" question if you do not wish to install all of the containers. Perhaps you wish to skip the installation of Mongo (you do not want a noSQL type database) or do not want extra tools such as Mongo Express or Watchtower.
Answering "no" to the "install all" quesiton will then prompt you one by one if you wish to install each container. Keep in mind, you can always re-run the install script and install containers you skipped earlier. If you, say, answer no to installing Mongo and then later decide you want to install Mongo, just re-run the install script choose yes when prompted.
Running the script a second time and selecting "no" to a container that is already installed WILL NOT uninstall that container. The install script will only install containers. You will need to use Docker itself later, or a tool such as Portainer to stop, kill, and uninstall containers once they are installed.
The docker environment file lets you customize certain aspects of the installation... [finish me]
Watchtower is: "A process for automating Docker container base image updates."