sopel.sopel
Déprécié. Ce rôle n'est plus maintenu. Il est recommandé d'utiliser l'image docker officiellement non officielle à la place.
Si des personnes souhaitent reprendre la maintenance, ouvrez un problème et nous nous en occuperons. Les problèmes sont principalement liés à l'intégration continue (CI).
Qu'est-ce qu'ansible-sopel ? 
C'est un rôle Ansible qui installe le bot IRC Sopel dans un environnement virtuel.
Plateformes supportées
- Ubuntu 18.04 LTS (Bionic)
- Ubuntu 20.04 LTS (Focal)
- Debian 9 (Stretch)
- Debian 10 (Buster)
- CentOS 7
- CentOS 8
Dépendances
- Python 3
- Python venv
- Outils de construction ou wheel Python
Variables du rôle
---
# Changer le nom de l'instance permettra à plusieurs instances de Sopel
# de fonctionner côte à côte sur le même serveur tant qu'elles ont
# des pseudos différents, ou se connectent à des serveurs différents.
sopel_instance_name: 'sopel'
sopel_install_dir: '/srv/sopel'
sopel_config_dir: '/etc/sopel'
sopel_log_dir: '/var/log/sopel'
sopel_pid_dir: '/run/sopel'
sopel_install_systemd_service: true
sopel_start_systemd_service: true
# Si votre système utilise un autre wrapper pour l'environnement virtuel, vous pouvez écraser la commande venv
sopel_venv_cmd: '/usr/bin/python3 -m venv'
# Le préfixe utilisé pour appeler le bot.
# Il est analysé comme une expression régulière, donc n'oubliez pas d'échapper les caractères spéciaux
sopel_command_prefix: '\.'
# Le pseudo que Sopel utilisera dans les salons
sopel_nick: 'sopel_irc_bot'
sopel_auth_method: 'sasl'
# Le réseau auquel Sopel doit se connecter
sopel_irc_host: 'chat.freenode.org'
sopel_irc_port: 6697
# Une liste de salons à rejoindre
sopel_channels:
- '##botspam'
# L'administrateur du bot
sopel_bot_owner: ''
# Une liste de pseudos et masques d'hôtes que Sopel doit ignorer. Analysés comme regex
sopel_ignored_nicks:
- ''
sopel_ignored_hosts:
- ''
# Une liste de plugins à activer. Par défaut, tout est activé
#sopel_enabled_plugins: []
# Une liste de plugins à exclure. Par défaut, aucun n'est exclu
#sopel_excluded_plugins: []
## Toute autre addition à la configuration de Sopel peut être ajoutée via cette variable
## elle est ajoutée à la fin de la configuration
#sopel_config_extra: |
# [currency]
# auto_convert = true
# Fuseau horaire et format de temps par défaut. http://strftime.org/ pour les infos sur le format
sopel_timezone: 'Europe/Copenhagen'
sopel_time_format: '[%Y-%m-%d - %T %Z]'
Exemple d'utilisation
Exemple montrant comment déployer rapidement et facilement deux instances de Sopel. Cela mettra en place deux instances de Sopel, une avec le nom par défaut sopel et une appelée sopel2. Cela les installera également en tant que services systemd sous les noms : sopel-sopel et sopel-sopel2. Les fichiers de configuration se trouveront dans /etc/sopel/
---
- name: 'Installer l\'instance Sopel 1'
hosts: vps
become: true
tags:
- sopel
vars:
sopel_auth_method: 'nickserv'
sopel_bot_owner: 'testManDan'
sopel_nick: Sopel_bot_1
sopel_auth_user: NICK OWNER HERE
sopel_auth_pass: NICK PASS HERE
roles:
- sopel.sopel
- name: 'Installer l\'instance Sopel 2'
hosts: vps
become: true
tags:
- sopel
vars:
sopel_instance_name: 'sopel2'
sopel_auth_method: 'nickserv'
sopel_bot_owner: 'testManDan'
sopel_nick: Sopel_bot_2
sopel_auth_user: NICK OWNER HERE
sopel_auth_pass: NICK PASS HERE
roles:
- sopel.sopel
Installation
$ ansible-galaxy install sopel.sopel
Ansible Galaxy
Vous pouvez le trouver sur l' Ansible Galaxy officiel si vous souhaitez le noter.
Licence
MIT
Merci à Geerlingguy pour la documentation CI Ansible excellente. CI est adapté de son travail.
ansible-galaxy install sopel.sopel