PANOSETI-Docker

Descriptions

  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.

How to use it

  1. Clone the repository
    git clone https://github.com/liuweiseu/panoseti_docker.git
  1. 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.

  1. 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.

  1. 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.

Access to grafana

  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
panoseti-grafana

  If you can't access grafana successfully, try the following command:

    sudo systemctl stop systemd-resolved.service 

Start and Stop Containers

  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

Delete Containers

  Sometimes, you may want to delete all of the containers to make the machine clean.
  You just need to run

    ./panoseti_del_containers.sh