Tip

Check out the repository on GitHub

Check out the demo at: demo.webui.ansibleguy.net | Login: User demo, Password Ansible1337

Warning

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

Warning

This project still in early development! DO NOT USE IN PRODUCTION!

Docker

You can find the dockerfiles and scripts used to build the images in the Repository

Ansible Requirements

Our docker image ansible0guy/webui enables you to install Ansible dependencies on container startup.

Files inside the container:

  • Python3 Modules: /play/requirements.txt

  • Ansible Roles & Collections: /play/requirements.yml

    • Only Ansible Roles: /play/requirements_roles.yml or /play/roles/requirements.yml

    • Only Ansible Collections: /play/requirements_collections.yml or /play/collections/requirements.yml


Unprivileged

There are images for running Ansible-WebUI as unprivileged user aw with UID/GID 8785 inside the container:

  • Latest: ansible0guy/webui-unprivileged:latest

  • Unstable: ansible0guy/webui-unprivileged:unstable


Persistent Data

It might make sense for you to mount these paths in the container:

  • /data (AW_DB & AW_PATH_LOG env-vars) - for database & execution-logs

  • /play (AW_PATH_PLAY env-var) - for static Ansible playbook base-directory

If you are running an unprivileged image - you will have to allow the service-user to write to the directories. The UID needs to match!

Basic example:

# add matching service-user on the host system
sudo useradd ansible-webui --shell /usr/sbin/nologin --uid 8785 --user-group
chown ansible-webui:ansible-webui ${YOUR_DATA_DIR}

AWS CLI Support

There is also an image that has AWS-CLI support pre-enabled: ansible0guy/webui-aws:latest (needed for community.aws.* modules)

Its base-image is ansible0guy/webui-unprivileged:latest


Custom build

If you want to build a custom docker image - make sure to set those environmental variables:

AW_VERSION=X.X.X AW_DOCKER=1 PYTHONUNBUFFERED=1