# Ansible installation and server preparation

Use `ansible/prepare-ipsonic-probe.yml` to prepare an ipsonic-probe host running Debian, Ubuntu, Raspberry Pi OS, AlmaLinux or Rocky Linux.

Ansible runs **only on the controller**, not on the target host. The target needs SSH, privilege escalation, Python 3 for Ansible modules, and distribution-managed packages from its standard repositories or an approved local mirror. The playbook uses `ansible.builtin` modules and requires no pip installation on the target.

## Run from the controller

```sh
cp ansible/inventory.ini.example ansible/inventory.ini
# Edit target hostname and SSH user in inventory.ini.
ansible-playbook -i ansible/inventory.ini ansible/prepare-ipsonic-probe.yml --ask-become-pass
```

The playbook installs `python3`, `python3-requests`, `ca-certificates`, and `python3-yaml` (Debian family) or `python3-pyyaml` (RPM family), copies ipsonic-probe and examples to `/opt/ipsonic-probe`, prepares `/etc/ipsonic-probe`, and validates imports and `--help`.

## Check installation

```sh
ssh user@monitor.example '/usr/bin/python3 /opt/ipsonic-probe/ipsonic-probe.py --help'
```

## Operational notes

- Use only approved distribution repositories or preconfigured internal mirrors.
- Bootstrap Python 3 before Ansible fact gathering on minimal installations.
- Store passwords, API tokens, and private CA keys outside public YAML examples; restrict permissions.
- Ansible does not enable background monitoring, install a daemon, or open firewall ports.
- Integrate checks into your existing Nagios, Icinga 2, Checkmk, cron or systemd scheduling separately.
- The `requirements.txt` in release archives documents OS package dependencies and is **not** intended for `pip install -r`.


## Maintainer and disclaimer

Maintained by **mati peterson** ([ipsonic@mailbox.org](mailto:ipsonic@mailbox.org)). Official project URL: [https://ipsonic.com/probe/](https://ipsonic.com/probe/).

**Disclaimer:** This software and its examples are provided **AS IS**, without warranty of any kind. Use at your own risk. Review and validate configurations before production deployment.
