Skip to content

culturesofknowledge/site-edit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

570 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emlo Editor

Install Docker

<PACKAGE_MANAGER> install docker docker-compose

Recommended: If you want to move the docker storage location (i.e. to use different disk space):

mv /var/lib/docker /data/
ln -s /data/docker /var/lib/docker

Now start docker:

systemctl enable docker
systemctl start docker

Setup servers

Assuming you have already git cloned this repo (i.e. the one this readme is in):

  • mkdir -p volumes/csv volumes/ssh volumes/uploader volumes/tweaker

  • chown 33:33 volumes/uploader volumes/tweaker # i.e. the containers www-data user.

  • Create config files:

    • cp docker-compose.php.template.env to docker-compose.php.env and fill in the missing values (See below if you need new identity keys)
    • cp emlo-edit-php-helper/exporter/config.template.py to emlo-edit-php-helper/exporter/config.py and fill in the missing values.
    • cp emlo-edit-php/interface/proform/lib/config.template.php emlo-edit-php/interface/proform/lib/config.php
  • generate/obtain ssl key and cert file for nginx build (e.g. sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nginx/ssl/ssl.key -out nginx/ssl/ssl.crt )

Enable publishing of data via csv export

An export runs daily. You can configure where it goes with the docker-compose.php.env but if you need new keys do this:

Generate or move a key, to the file volumes/ssh/id_rsa . If generating, accept the defaults (but you might want to change the filename)

ssh-keygen  # use to generate a new key

Now copy the key to the remote server we need to update, you'll need to log in:

 ssh-copy-id -i <file-name> <user@server> # login to remote using id

Add a cronjob that runs daily:

docker-compose --file /data/emlo-editor/docker-compose.yaml exec php bash -c '/var/www/core/export_cofk_union.sh' > /data/emlo-editor/logs/export.log

Note: the first connection will ask you to authenticate the remote host so you may want to try a connection before continuing.

Enable simple data exporter

Change owners of the data folder to www-data (that is the www-data inside the container, usually the id is 33)

chown 33:33 emlo-edit-php-helper/exporter/exports emlo-edit-php-helper/exporter/exporter_data

Start (restart) server

Run the start script in the main directory. This basically buils and runs the docker containers.

  • Run ./start.sh

Backup

Make a directory

mk /data/backups

Add cronjob that runs daily

backup.sh

Insert latest data (only if necessary, don't overwrite new data!)

Get database data, e.g.:

pg_dumpall --username=<USERNAME_HERE> | gzip > pg_dumpall.out.gz

Copy to container, e.g. (containername is likely "emloeditor_postgres_1"):

docker cp pg_dumpall.out.gz <containername>:/tmp/

Connect to container:

docker-compose exec postgres bash

Delete, Extract, and re-index:

# Drop database
psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U <USERNAME_HERE> -c "DROP DATABASE ouls;"

# Unzip
gunzip /tmp/pg_dumpall.out.gz

# import
psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U <USERNAME_HERE> < /tmp/pg_dumpall.out

#cleanup
rm -f /tmp/pg_dumpall.out

Acknowledgements

EMLO has received funding from the Andrew W. Mellon Foundation, the UK Arts and Humanities Research Council, and the Unibersity of Oxford's John Fell Fund.

About

Editorial interface to EMLO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors