# Semaphore

[Semaphore](https://www.ansible-semaphore.com/) is a responsive web UI for running Ansible playbooks. Installing it is powered by the [mother-of-all-self-hosting/ansible-role-semaphore](https://github.com/mother-of-all-self-hosting/ansible-role-semaphore) Ansible role.

## Dependencies

This service requires the following other services:

- a [Postgres](postgres.md) database
- a [Traefik](traefik.md) reverse-proxy server


## Configuration

To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:

```yaml
########################################################################
#                                                                      #
# semaphore                                                            #
#                                                                      #
########################################################################

semaphore_enabled: true

semaphore_hostname: semaphore.example.com

# Despite the confusing naming, semaphore_admin_name needs to hold a username, not a name!
semaphore_admin_name: ''
semaphore_admin_email: ''
# You can generate a strong password with a command like: `pwgen -s 64 1`
semaphore_admin_password: ''

# Key for encrypting access keys in database.
# It must be generated by using the following command: head -c32 /dev/urandom | base64
semaphore_access_key_encryption: ''

########################################################################
#                                                                      #
# /semaphore                                                           #
#                                                                      #
########################################################################
```


## Usage

After [installing](../installing.md), you can log into you admin account by visiting the URL specified in `semaphore_hostname`.