autocat3/configuring.txt

115 lines
3.6 KiB
Plaintext

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
git fetch origin
#for gutenberg1
git checkout remotes/origin/gutenberg1
# for gutenberg2
git checkout remotes/origin/gutenberg2
pipenv install --ignore-pipfile
sudo systemctl restart autocat3