sudo yum install git #sudo yum install postgresql-server #sudo yum install postgresql-contrib # install py3 (might not be the bast way to do this) #sudo yum install centos-release-scl #sudo yum install rh-python36 #scl enable rh-python36 bash #install pip sudo yum groupinstall 'Development Tools' # pip is not on secure_path sudo /opt/rh/rh-python36/root/usr/bin/pip install --upgrade pip sudo /opt/rh/rh-python36/root/usr/bin/pip install pipenv # create autocat user with home directory /var/lib/autocat sudo useradd -d /var/lib/ autocat sudo passwd autocat sudo su - autocat # create ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub using app key from the gutenbergtools/autocat3 repo # id_rsa should have permissions 400 mkdir .ssh install -m 600 .ssh/id_rsa touch .ssh/id_rsa.pub #!! from local # scp [local:]~.ssh/github [autocat@host:]~/.ssh/id_rsa # scp [local:]~.ssh/github.pub [autocat@host:]~/.ssh/id_rsa.pub chmod 400 .ssh/id_rsa # create ~/.pgpass file to store password in format # [pghost]:*:[pgdatabase]:[pguser]:[password] chmod 400 .pgpass #set default python - only needed if pu3 is scl enable rh-python36 bash echo 'source scl_source enable rh-python36' >> /var/lib/autocat/.bash_profile git clone git@github.com:gutenbergtools/autocat3.git cd autocat3 pipenv --three git checkout remotes/origin/master pipenv install # add local conf file. keep secrets here! # for production .autocat3 should set values for these parameters: # pghost, pguser, # dropbox_client_secret, gdrive_client_secret, msdrive_client_secret, # log.error_file, log.access_file #!! from local # Better to copy conf file from guten2 cause it's up-to-date # scp [local:]~/autocat3.conf [autocat@host:]~/.autocat3 mkdir /var/lib/autocat/log/ touch /var/lib/autocat/log/error.log touch /var/lib/autocat/log/access.log exit sudo mkdir /var/run/autocat sudo touch /var/run/autocat/autocat3.pid # sudo chown autocat /var/run/autocat/autocat3.pid # Better to set the group name as pgweb for /var/run/autocat sudo chown -R autocat:pgweb /var/run/autocat ##### ##### To install or update the autocat3 service ##### sudo systemctl enable /var/lib/autocat/autocat3/autocat3.service sudo systemctl start autocat3 # If there are problems with `sudo systemctl enable /var/lib/autocat/autocat3/autocat3.service` # it might be due to monit (the monitoring system) fighting to restart. Or it might be that the # service is in an uncertain state, not stopped. Try: sudo service autocat3 stop sudo systemctl disable autocat3.service sudo systemctl enable /var/lib/autocat/autocat3/autocat3.service sudo systemctl restart autocat3.service sudo systemctl status autocat3.service # `sudo rm /etc/systemd/system/autocat3.service` is probably not needed. As of July 20 2019, # we are having problems with monit trying to restart. It might be necessary to also stop # monit. Further diagnosis is forthcoming. ## Development create a "feature" branch on on the git repo, using either master or development as base. when your code is working, submit a pull request to master or development as appropriate. ## updates # currently gutenberg1 is production deployment, gutenberg2 is dev deployment # to do a new deployment, first pull from the master or dev as appropriate # into gutenberg1 or gutenberg2. # DONT edit files on the deployment servers, they should always be updated from the git remote. su - autocat # or sudo su - autocat if you can sudo cd autocat3 #for gutenberg1 git checkout remotes/origin/gutenberg1 # for gutenberg2 git checkout remotes/origin/gutenberg2 pipenv install --ignore-pipfile sudo systemctl restart autocat3