mash-playbook/docs/services/ilmo.md
Julian-Samuel Gebühr 4e0bf6534a Add documentation
2023-07-19 00:08:42 +02:00

3.3 KiB

ILMO

Ilmo is an open source library management tool.

Read the documentation to learn what you can do with it.

Warning: This service is a custom solution for a small library. Feel free to use it but don't expect a solution that works for every use case

Dependencies

This service requires the following other services:

Configuration

To enable this service, add the following configuration to your vars.yml file and re-run the installation process:

########################################################################
#                                                                      #
# ilmo                                                                 #
#                                                                      #
########################################################################

ilmo_enabled: true
ilmo_hostname: ilmo.example.com
ilmo_instance_name: "My library"

########################################################################
#                                                                      #
# /ilmo                                                                #
#                                                                      #
########################################################################

Setting up the first user

You need to create a first user (unless you import an existing database). You can do this conveniently by running

just run-tags ilmo-add-superuser --extra-vars=username=USERNAME --extra-vars=password=PASSWORD --extra-vars=email=EMAIL

Usage

After installation, you can go to the ILMO URL, as defined in ilmo_hostname. Log in with the user credentials from above.

Follow the ILMO documentation to learn how to use ILMO.

Migrate an existing instance

The following assumes you want to migrate from serverA to serverB (managed by mash) but you just cave to adjust the copy commands if you are on the same server.

Stop the initial instance on serverA

serverA$ systemctl stop ilmo

Dump the database (depending on your existing setup you might have to adjust this)

serverA$ pg_dump ilmo > latest.sql

Copy the files to the new server

serverA$ rsync -av -e "ssh" latest.sql root@serverB:/mash/ilmo/
serverA$ rsync -av -e "ssh" data/* root@serverB:/mash/ilmo/data/

Install (but don't start) the service and database on the server and import the database.

yourPC$ just run-tags install-postgres
yourPC$ just run-tags install-ilmo
yourPC$ just run-tags import-postgres --extra-vars=server_path_postgres_dump=/mash/ilmo/latest.sql --extra-vars=postgres_default_import_database=mash-ilmo

Start the services on the new server

yourPC$ just run-tags start

Done 🥳

Troubleshooting

If you by accident started the service before importing the database you should

  • stop the service
  • use /mash/postgres/bin/cli to get a database interface
  • Delete the existing database (THIS WILL DELETE ALL DATA!) DROP DATABASE ilmo WITH (FORCE);
  • Continue from "Install (but don't start) the service and database on the server and import the database."