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