Skip to content

LibriVox/librivox-ansible

Repository files navigation

LibriVox-ansible

These are the Ansible playbooks used to deploy LibriVox.

Scrubbed catalog database

A scrubbed (all personal information removed) catalog database snapshot is available. It can be used as part of a local development environment (see next section) or on its own by anyone interested.

Local development environment

These playbooks can set up a local development environment, hereafter called "localdev". Localdev is a limited version of LibriVox with only the catalog operational. The forum, wiki, and WordPress blog are installed, but their databases are empty. The catalog database is the scrubbed one, so while all the book information is there, the user information is anonymized.

Prerequisites

  • An Ubuntu Jammy 22.04 environment, the target.
  • An environment to run these Ansible playbooks in, the executor.
  • SSH access to the target from the executor.
  • Sudo access in the target.
  • Ansible installed on the executor.

Setting up the target and the executor is purposefully left out of scope of this guide. The most likely scenario is the executor being a laptop or PC, with the target as a VM or container (LXC works well) on the executor. Other combinations are possible, including the target and the executor being the same system, as long as the prerequisites are met.

Deployment

On the executor, clone this repository:

$ git clone https://github.com/librivox/librivox-ansible
$ cd librivox-ansible

Edit inventory.yaml and replace 192.168.122.12 with the IP address of the target system:

localdev:
  hosts:
    192.168.122.12:

Run the localdev playbook:

$ ansible-playbook -i inventory.yaml localdev.yaml --ask-become-pass

Ansible prompts for the BECOME password. Enter the sudo password.

Access

To access the localdev target from a different environment (for example, from the executor), the following line needs to be present in that environment's hosts file (on most Unices including Mac, the hosts file is /etc/hosts, on Windows it's C:\Windows\System32\drivers\etc\hosts):

192.168.122.12 librivox.org

Replace 192.168.122.12 with the IP address of the Ansible target.

Caveats/disclaimers

Development

The librivox-catalog repository is cloned to /librivox/www/librivox.org/catalog.