systemli.prosody

ansible-role-prosody

构建状态 Ansible Galaxy

使用 Ansible 从官方仓库安装和维护 Prosody。 经过 Molecule、Docker 和 Vagrant 测试。

要求

Debian 11。其他版本的 Debian/Ubuntu 可能也受到支持,但未进行测试。

角色变量

请查看 defaults/main.yml

依赖

下载

使用 ansible-galaxy 下载最新版本

ansible-galaxy install systemli.prosody

示例剧本

- hosts: servers
  roles:
    - systemli.prosody
  vars:
    prosody_virtual_hosts:
      - name: example.net
        key: |
          -----BEGIN PRIVATE KEY-----
            ...
          -----END PRIVATE KEY-----
        cert: |
            -----BEGIN CERTIFICATE-----
              ...
            -----END CERTIFICATE-----
      - name: x5tno6mwkncu4m2h.onion
        admins: ["[email protected]"]

您需要一个配置好的 Tor 洋葱服务。 请查看 systemli.onion

您也可以将其与 systemli.letsencrypt 结合使用,以自动配置证书。

- hosts: servers
  roles:
    - systemli.letsencrypt
    - systemli.prosody
  vars:
    prosody_vhost: example.net
    letsencrypt_cert:
      name: example.net
      domains:
        - example.net
        - conference.example.net
        - proxy.example.net
        - pubsub.example.net
      challenge: dns
      renew_hook: "/usr/bin/prosodyctl --root cert import /etc/letsencrypt/live/"

测试

使用以下命令运行本地测试

molecule test

需要安装 Molecule、Vagrant 和 python-vagrant

要在测试中更新变量,运行

j2 --customize ~/custom-j2.py templates/test_prosody.yml.j2 defaults/main.yml > molecule/default/tests/test_default.yml
# ~/custom-j2.py

def j2_environment_params():
    """ Jinja2 环境的额外参数 """
    # Jinja2 环境配置
    # http://jinja.pocoo.org/docs/2.10/api/#jinja2.Environment
    return dict(
        # 去除块周围的空白
        trim_blocks=True,
    )

许可证

GPL

作者信息

https://www.systemli.org

关于项目

Install and maintain Prosody from offical repo with Ansible. Tested with Molecule, Docker and Vagrant.

安装
ansible-galaxy install systemli.prosody
许可证
Unknown
下载
228
拥有者
Your friendly tech collective