ansibleguy.sw_ansible_webui

AnsibleGuy-WebUI Logo

Ansible 角色 - Ansible-WebUI

此角色用于在 Linux 服务器上配置 一个基本的 Ansible WebUI

请请我喝咖啡

免责声明: 此 WebUI 是一个 非官方社区项目!请勿与官方的 Ansible 产品混淆!

Molecule 测试状态 YamlLint 测试状态 PyLint 测试状态 Ansible-Lint 测试状态 Ansible Galaxy

Molecule 日志: 简短, 完整

已测试:

  • Debian 12

安装

# 最新版本
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui

# 从 galaxy 安装
ansible-galaxy install ansibleguy.sw_ansible_webui

# 或者指定自定义角色路径
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles

# 安装依赖
ansible-galaxy install -r requirements.yml

使用

配置

根据需要定义配置:

最小配置:

ansible_webui:
  config:
    AW_HOSTNAMES: 'ansible.template.ansibleguy.net'

选项:

ansible_webui:
  manage:
    webserver: true  # 安装并配置本地 nginx 与最小 CA 证书
    backup: true  # 安装每日本地数据库备份服务(如果数据库已管理)
    user: true  # 创建服务用户 'ansible-webui'
    ansible_cfg: true  # 配置 /home/ansible-webui/ansible.cfg

  requirements:  # 执行环境所需的要求
    pip: ['httpx']  # 任何 python3 模块
    collections: ['community.general']  # 任何 ansible 集合(如果 persistent_requirements=true)
    roles: []  # 任何 ansible 角色(如果 persistent_requirements=true)

  config:  # 选项详见: https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
    AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
    # AW_SECRET: '...'  # 最少 30 个字符;如果未提供,将使用随机的

  ansible_config:  # /home/ansible-webui/ansible.cfg => 如果 manage.ansible_cfg=true; 详见: https://docs.ansible.com/ansible/latest/reference_appendices/config.html
    defaults:  # 部分
      remote_port: 48322
      vault_id_match: 'webui'
    diff:
      context: 2

  nginx:
    ...   # 配置 web 服务器设置 => 详见: https://github.com/ansibleguy/infra_nginx

您可能想使用 'ansible-vault' 来加密您的密码:

ansible-vault encrypt_string

执行

运行 playbook:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

还有一些有用的 标签 可用:

  • config
  • webserver

要调试错误 - 可以在运行时设置 'debug' 变量:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

功能

  • 软件包安装

    • Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
    • AnsibleGuy-WebUI 及其 Python3 模块依赖
  • 配置

    • 虚拟环境使用 (/home/ansible-webui/venv)

    • 默认配置:

      • 清理超过 180 天的日志
      • 备份保留 30 天
    • 默认选项:

      • 安装常用 Python3 模块 ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
      • 每日本地备份
      • 应用和要求在服务启动时自动升级
      • Nginx 代理
      • 创建服务用户

信息

  • 注意: 此角色当前仅支持基于 Debian 的系统

  • 注意: 角色的大部分功能可以选择启用或禁用。

    所有可用选项请查看 主默认文件 中的默认配置!

  • 警告: 不是您提供的每个设置/变量都会被检查有效性。错误的配置可能会导致角色失效!

关于项目

Ansible role to provision a basic WebUI for using Ansible on a linux server

安装
ansible-galaxy install ansibleguy.sw_ansible_webui
许可证
other
下载
1.1k
拥有者
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg