Deployment at VZG

VZG (Verbundeszentrale des GBV) is the Head Office of the GBV (Gemeinsamer Bibliotheksverbund = Union Library Network), a library network in Germany.

https://folio-demo.gbv.de/ is VZG's installation for testing and demoing FOLIO and not for showing a production environment.

Every few days folio-demo.gbv.de is wiped out and the module versions that are in use on https://folio-snapshot.aws.indexdata.com/ are installed if a manual check shows that they are working.

Vagrant box

Using a pre-built Vagrant box like folio/snapshot published at https://app.vagrantup.com/folio makes it very easy to install and update the software, see https://github.com/folio-org/folio-ansible#quick-start.

Hostname and https are configured using the "Replace localhost" and "Replace port 9130" methods described in the folio-ansible documentation.

Vagrant runs under Ubuntu on an ESXi virtual server with 24 GB RAM (10 GB should be sufficient) and 2 CPUs. It uses Ubuntu's Virtualbox package. This requires that hardware virtualization inside the virtual server is enabled as shown in this ESXi configuration screenshot:

Opensuse 15.1

Installation for Opensuse 15.1

sudo zypper addrepo https://download.opensuse.org/repositories/home:cabelo/openSUSE_Leap_15.1/home:cabelo.repo
sudo zypper update

sudo zypper install -y nginx java-1_8_0-openjdk-devel postgresql10 postgresql10-server git maven docker

sudo systemctl enable postgresql
sudo systemctl restart postgresql

sudo -u postgres psql <<EOF
CREATE ROLE okapi WITH PASSWORD 'okapi25' LOGIN CREATEDB;
CREATE DATABASE okapi WITH OWNER okapi ENCODING 'UTF-8' LC_COLLATE 'und-x-icu' LC_CTYPE 'und-x-icu' TEMPLATE template0;
CREATE ROLE folio WITH PASSWORD 'folio123' LOGIN SUPERUSER;
CREATE DATABASE folio WITH OWNER folio ENCODING 'UTF-8' LC_COLLATE 'und-x-icu' LC_CTYPE 'und-x-icu' TEMPLATE template0;
EOF

sudo sed -i -E 's/(max_connections =) [0-9]+/\1 500/; s/#?listen_addresses = \S+/listen_addresses = \x27*\x27/;' /var/lib/pgsql/data/postgresql.conf

sudo systemctl restart postgresql

git clone https://github.com/folio-org/okapi.git
cd ~/okapi
git checkout v3.1.3
mvn clean install -DskipTests # Mongo tests fail: [ERROR] ModuleTest.<init>:147 » UnknownHost opensuse15
sudo install -D okapi-core/target/okapi-core-fat.jar /usr/share/folio/okapi/lib/okapi-core-fat.jar
sudo useradd --system --home-dir "/var/lib/okapi" --create-home --user-group --shell /bin/false okapi
sudo install -D dist/okapi.env /etc/default/okapi
sudo install -d /etc/folio/okapi/
sudo install -D dist/* /etc/folio/okapi/
sudo install -o okapi -g okapi -d /var/log/folio/okapi/ /var/run/okapi/
cd /var/lib/okapi/
sudo -u okapi bash /etc/folio/okapi/okapi.sh

curl -w '\n' -D - -X POST -H "Content-type: application/json" -d '{"urls":["http://folio-registry.aws.indexdata.com"]}' http://localhost:9130/_/proxy/pull/modules

Then continue with the remaining tasks outlined in https://github.com/folio-org/folio-install/tree/master/runbooks/single-server