Ansible role to install and configure the Ansible UI Semaphore (minimum supported version: 2.9.37).
None. But for a production environment you should install a webserver as proxy for ssl termination (role is prepared for nginx).
- hosts: all
become: yes
roles:
- semaphore
vars:
semaphore_addn_config:
email_alert: true
email_sender: "[email protected]"
Just set semaphore_mysql_install: false
and provide the credentials semaphore_mysql_*
.
None of the variables below are required.
Variable | Default | Comment |
---|---|---|
semaphore_version |
latest available version | the version to download (example: 2.8.77), also see semaphore_download_url and semaphore_download_checksum |
semaphore_mysql_install |
true |
whether to install mysql on the host, installs with the password mysql_root_password |
semaphore_mysql_create_db |
true |
whether to create the mysql db and user |
semaphore_db_host :semaphore_db_port |
127.0.0.1 :3306 |
the mysql host |
semaphore_db_name |
semaphore | the mysql database |
semaphore_db_user |
semaphore | the mysql user |
semaphore_db_password |
semaphore | the mysql user password |
semaphore_user |
semaphore | the user and systemd identifier semaphore runs as |
semaphore_listen_ip |
127.0.0.1 |
the IP semaphore binds to |
semaphore_port |
3000 |
the port semaphore binds to |
semaphore_path |
/opt/semaphore | destination for the binary |
semaphore_config_path |
/etc/semaphore/semaphore.json | config file |
semaphore_default_user |
admin | login name of the default user |
semaphore_default_user_make_admin |
true | make default user admin |
semaphore_default_user_name |
semaphore_default_user |
his human readable name |
semaphore_default_user_password |
admin | the password |
semaphore_default_user_mail |
[email protected] | and mail adress |
semaphore_default_user_password |
admin |
change to a secure value! |
:--- | :--- | :--- |
semaphore_nginx_deploy_reverseconfig |
false | set to true to enable nginx |
semaphore_nginx_config_filename |
semaphore |
filename of nginx vhost-config |
semaphore_nginx_ssl_certificate |
/etc/letsencrypt/live/{{ semaphore_hostname }}/fullchain.pem |
path to tls certificate |
semaphore_nginx_ssl_certificate_key |
/etc/letsencrypt/live/{{ semaphore_hostname }}/privkey.pem |
path to tls key |
For all options see defaults/main.yml
Role forked from https://github.com/morbidick/ansible-role-semaphore
changes from forked roles are mostly on vars, added nginx reverse-config (see this commit or this comparison) for details. will backport upstream changes if useful.
Maybe not included latest features from semaphore in config template, if you see missing keys or errors: please open a issue / PR.
Molecule is useable for testing (not used atm), the webinterface of the centos machine will be exposed and can be used as demo.
- run
molecule converge
- open your browser at 127.0.0.1:3000
- and login with user and password
admin
.
MIT