Installation

Create a containing directory (named as you choose, but ‘my-momod’ as an example) with children like so:

mkdir -p my-momod

cd into ‘my-momod’ and clone the main momod repository:

cd my-momod
git clone https://codeberg.org/Momod-Project/momod.git

cd into the momod directory and install roles from Ansible Galaxy and specified Ansible Collections:

cd momod
ansible-galaxy install -r requirements.yml
cd ..

Clone the momod-local repository into ‘my-momod/local’:

git clone https://codeberg.org/Momod-Project/momod-local.git local

At this point you should have a directory structure something like this:

/my-momod
|
|-/local
| |- hosts.ini
| |- /fetched
| |- /files
| |- /group_vars
| |- /host_vars
|    | - /examplecom
|        | - main.yml
|        | - vault.yml
|        | /websites
|          | - site-template.yml
|
|-/momod
| |- /play
| |- /roles
| |- /roles-collections
| |- /roles-galaxy

Before you begin customizing the template files in local, disconnect this clone from the remote repository:

cd local
git remote remove origin

Keeping track of changes using git is recommended but you may also want to push your changes to a private repository. Be sure to encrypt the file vault.yml after adding any passwords etc and before pushing. Instructions in the ‘Configuration’ section that follows.

Now begin customising the template files to match your own server, user or users.