Skip to content

ansibleguy/webui

Repository files navigation

Basic WebUI for using Ansible

Buy me a coffee

Documentation Lint Test

DISCLAIMER: This is an unofficial community project! Do not confuse it with the vanilla Ansible product!

The goal is to allow users to quickly install & run a WebUI for using Ansible locally.

Keep it simple.


Setup

Local - PIP

Requires Python >=3.10

# install
python3 -m pip install ansibleguy-webui

# run
python3 -m ansibleguy-webui

Docker

Images: webui, webui-unprivileged, webui-aws

docker image pull ansible0guy/webui:latest
docker run -d --name ansible-webui --publish 127.0.0.1:8000:8000 ansible0guy/webui:latest

# or with persistent data (volumes: /data = storage for logs & DB, /play = ansible playbook base-directory)
docker run -d --name ansible-webui --publish 127.0.0.1:8000:8000 --volume $(pwd)/ansible/data:/data --volume $(pwd)/ansible/play:/play ansible0guy/webui:latest

Demo

Check out the demo at: demo.webui.ansibleguy.net

Login: User demo, Password Ansible1337


Usage

Documentation


Contribute

Feel free to contribute to this project using pull-requests, issues and discussions!

Testers are also very welcome! Please give feedback

See also: Contributing


Roadmap

  • Ansible Config

    • Static Playbook-Directory

    • Git Repository support

  • Users

  • Jobs

    • Execute Ansible using ansible-runner

    • Job Logging

      • Write job metadata to database

      • Write full job-logs to Filesystem

    • Secret handling (Connect, Become, Vault)

      • User-specific job credentials
    • Alerting on Failure

      • E-Mail

      • Support for external Plugins (simple Interface for Scripts)

  • WebUI

    • Job Dashboard

      Status, Execute, Time of last & next execution, Last run User, Links to Warnings/Errors

    • Job Output

      Follow the jobs output in realtime

    • Job Errors

      UI that allows for easy error analysis. Access to logs and provide links to possible solutions

    • Show Ansible Running-Config

    • Show Ansible Collections

      • Check Collections for available updates (Galaxy + GitHub releases)
    • Mobile Support

    • Multi-Language Support

  • API

    • Manage and execute Jobs
  • Database

    • Support for MySQL
  • Testing

    • Unit Tests

    • Integration Tests

      • Basic WebUI checks

      • API Endpoints

      • Permission system