These scripts are used for setting up a head node for the PANOSETI control system.
The architecture of the docker system is shown below:
There are 5 containers:
- panoseti-control: This is the container for the control scripts.
- panoseti-redis: This is the container for the redis database.
- panoseti-influxdb: This is the container for the influxdb database.
- panoseti-grafana: This is the container for the grafana.
- panoseti-dns: This container is working as a dns server, so all the containers can talk to each other via hostname.
All the useful data are stored in the Persistent Volume on the physical machine, so we will not lose data, even though the containers stop working.
Before using the scripts, please make sure docker has been installed.
If it's not installed, please follow the instructions here.
- Clone the repository
git clone https://github.com/liuweiseu/panoseti_docker.git
- Build images
./panoseti_build_image.sh
All the necessary images will be pulled from docker hub, except the panoseti_control image.
The panoseti_control image will be built based on the Dockerfile.
Note: This script only needs to be ran one time normally.
- Create containers
./panoseti_create_containers.sh
All the containers will be created.
Now, all of the containers should be running!
Note: This script only needs to be ran one time normally.
By default, the all the useful data, including housekeeping data, redis data, influxdb data and grafana data, will be stored under /home/$USER/panoseti_container_data.
You can use
./panoseti_create_containers.sh {data path}
to specify where you want to store all of the data.
- Open a termial for using panoseti control script
./panoseti_terminal.sh
You should have a termial now!
All of the python control scripts are there.
Some times, you may need to use
git pull origin master
to get the latest code.
As all of the containers are running, you should be able to access grafana.
Just type in
panoseti-grafana:3000
in your browser, then you should see
If you can't access grafana successfully, try the following command:
sudo systemctl stop systemd-resolved.service
By default, the containers are running after you create them.
You can run
./panoseti_stop_containers.sh
to stop all the containers. (Normally, we don't need to do this.)
When you plan to restart the containers or you restarted the physical machine, you just need to run
./panoseti_start_containers.sh
Sometimes, you may want to delete all of the containers to make the machine clean.
You just need to run
./panoseti_del_containers.sh