diff --git a/README.md b/README.md index e850680..a68fb0f 100644 --- a/README.md +++ b/README.md @@ -12,145 +12,4 @@ It aims to replace the existing one (`Deploy`), found in [`dmwm/deployment`](htt > [!WARNING] > This deployment script should *not* be run as a sudo user. -## Requirements - -- RHEL8 (Tested with version 8.8) -- `sudo` permissions: - - To install the system-wide packages (listed below). -- Python 3.8 - -## Deploying [Legacy] DQMGUI - -This procedure has been tested on a RHEL8 Openstack VM. Instructions below are primarily for a personal VM. - -0. Get the installation package to the machine you want to deploy to: - * Download the latest build artifact and copy it to the machine you want to install it to: - ```bash - curl -L https://github.com/cms-DQM/dqmgui_prod_deployment/releases/download/deployment_debug_dqmgui_python3_backup_root_v6-28-08/dqmgui_installation_package.tar.gz --output dqmgui_installation_package.tar.gz - scp dqmgui_installation_package.tar.gz root@:/tmp/ - ``` - OR - * Download all the required files yourself (this is useful if you need specific versions of DMQM/deployment or DQMGUI, change them in `config.sh`): - > [!WARNING] - > You will need to have the same python version with the machine you will be installing to! Configure that in `config.sh`, with the `PYTHON_VERSION` variable. - ```bash - git clone --depth 1 https://github.com/cms-DQM/dqmgui_prod_deployment && cd dqmgui_prod_deployment - # Now change config.sh as needed. - - # This will create a dqmgui_installation_package.tar.gz in /tmp - bash download_dependencies.sh && bash build_installation_package.sh - scp /tmp/dqmgui_installation_package.tar.gz root@:/tmp/ - ``` - -1. Connect to the VM and install the system packages: - - ```bash - sudo yum install -y patch unzip bzip2 libglvnd-opengl libX11-devel libXext-devel libXft-devel libXpm-devel mesa-libGLU mesa-libGLU-devel perl-Env perl-Switch perl-Thread-Queue glibc-headers libidn libXcursor libXi libXinerama libXrandr perl perl-Digest-MD5 tcsh zsh epel-release libcurl-devel python38 python38-devel boost-python3-devel protobuf-devel jemalloc-devel pcre-devel boost-devel lzo-devel cmake xz-devel openssl-devel libjpeg-turbo-devel libpng-devel gcc-c++ gcc binutils gcc-gfortran mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel fftw-devel cfitsio-devel graphviz-devel libuuid-devel avahi-compat-libdns_sd-devel openldap-devel python3-numpy libxml2-devel gsl-devel readline-devel R-devel R-Rcpp-devel R-RInside-devel xrootd-client - ``` - -2. Add a non-privileged user, create and give access to necessary directories and switch to it: - - ```bash - adduser dqm - - # Installation directory - sudo mkdir -p /data/srv - sudo chown -R dqm /data/srv - - # Data directory - sudo mkdir -p /dqmdata/dqm - sudo chown -R dqm /dqmdata - - # Installation package - sudo chown dqm /tmp/dqmgui_installation_package.tar.gz - - sudo su dqm - ``` - -3. Start the deployment (`dev` flavor): - - ```bash - cd ~ - tar -xf dqmgui_installation_package.tar.gz -C dqmgui_deployment - - # Start the deployment script, it will take some time to finish - bash /home/dqm/dqmgui_deployment/deploy_dqmgui.sh - - # Start all the services - /data/srv/current/config/dqmgui/manage -f dev start "I did read documentation" - ``` - -4. Open firewall ports (if needed): - - ```bash - firewall-cmd --list-all-zones - firewall-cmd --zone=public --add-port=8030/tcp # online - firewall-cmd --zone=public --add-port=8060/tcp # dev - firewall-cmd --zone=public --add-port=8070/tcp # online/dev - firewall-cmd --zone=public --add-port=8080/tcp # offline - firewall-cmd --zone=public --add-port=8081/tcp # relval - ``` - -## Deployment command-line arguments - -This script uses some internal variables to specify options such as the main installation directory, or the git tags/refs to use when cloning repositories. It's not recommended that you edit those, as most of them are hand-picked so that the project compiles (we're mostly referring to the git refs). - -However, if needed, you can override them by passing them as arguments to the script in the form of `=/root/bin/thisroot.sh` (default: `/data/srv/root/bin/thisroot.sh`). +Complete instructions and more information can be found on the [Wiki](./wiki).