Ansible roles by Evolix
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Victor LABORIE a3744bbe59
Add opendkim role
5 years ago
amavis postfix: move script from amavis role 5 years ago
apache apache/nginx: remove compatibility mode 5 years ago
apt extract APT configuration into apt role 5 years ago
bind Big review of role Bind, sync with 6 years ago
clamav clamav: configure debconf before install packages 5 years ago
dhcpd Rename dhcp to dhcpd 6 years ago
docker-host Clean override of docker systemd unit 5 years ago
dovecot dovecot: login_max_processes_count is obsolete 5 years ago
drbd drbd: cleanup readme 5 years ago
elasticsearch Elasticsearch-head: no need to have a shell 5 years ago
etc-git etc-git: scope=local is not always supported 5 years ago
evoacme copy vhosts-domains script 5 years ago
evocheck Fix remount_usr_rw/yml 5 years ago
evolinux-base Invert SSH Match User directives 5 years ago
evolinux-users Don't add the trap if it is present or commented 5 years ago
evomaintenance evomainteance should not install the trap itself 5 years ago
fail2ban fail2ban: add roundcube filter 5 years ago
filebeat cleanup with dependencies on java8 5 years ago
generate-ldif Fix remount_usr_rw/yml 5 years ago
haproxy haproxy: add a Nagios check 5 years ago
imapproxy/tasks roundcube: use imapproxy 5 years ago
java8 java8: we only need the headless variant 5 years ago
jenkins cleanup with dependencies on java8 5 years ago
kibana Fix remount_usr_rw/yml 5 years ago
kvm-host kvm-host: images path is customizable 6 years ago
ldap ldap: custom schema can be passed with ldap_schema 5 years ago
listupgrade chmod 700 /etc/evolinux 5 years ago
logstash cleanup with dependencies on java8 5 years ago
lxc Fix multiple bugs in lxc role after testing 6 years ago
memcached update title 5 years ago
minifirewall Minifirewall can deal with evomaintenance 5 years ago
mongodb MongoDB: fix syntax mistake 5 years ago
monit minor fix: true -> True 6 years ago
munin Delete OpenBSD stuff (mv to another repo), ansible-roles is now Linux-specific (even Debian-specific) 6 years ago
mysql mysql: add more Munin plugins 5 years ago
nagios-nrpe nagios-nrpe: add check for imapproxy 5 years ago
nameserver Add nameserver role 6 years ago
newrelic Remove dynamic add of whitelist Squid proxy 6 years ago
nginx nginx: fix ip filtering in default vhost 5 years ago
nodejs download gpg in repo, we want to be independant from network as possible 6 years ago
ntpd remove interface ignore wildcard because it breaks ntp sync with external servers 5 years ago
opendkim Add opendkim role 5 years ago
packmail Add opendkim role 5 years ago
packweb-apache packweb-apache: dependency on squid and mysql 5 years ago
php php: fix right on custom conf files 5 years ago
postfix Add opendkim role 5 years ago
postgresql postgresql: Add missing package, libdbd-pg-perl needed by munin-plugins 5 years ago
proftpd proftpd: don't overwrite z-evolinux.conf 5 years ago
rabbitmq Kitchen: Change base image to evolix/ansible 6 years ago
rbenv rbenv: add "gem: --no-document" 6 years ago
redis Redis: Ensure that we do not modify munin-node config if there is multiple redis config blocs 5 years ago
redmine redmine: use default target instead of multi-user for puma service 5 years ago
spamassasin spamassasin: custom sa-update nead evomaintenance package 5 years ago
squid Squid: restart minifirewall if needed 5 years ago
supervisord supervisord: don't overwrite existing http.conf 6 years ago
tomcat tomcat: disable default tomcat7 service 6 years ago
tomcat-instance tomcat-instance: default rng set to /dev/urandom 6 years ago
unbound Delete OpenBSD stuff (mv to another repo), ansible-roles is now Linux-specific (even Debian-specific) 6 years ago
varnish Fix remount_usr_rw/yml 5 years ago
vrrpd Rename role "apt-repositories" to "apt" 6 years ago
webapps roundcube: return 503 if imapproxy doesn't run 5 years ago
.gitignore gitignore cleanup 6 years ago
LICENSE Add the GPLv2 licence 6 years ago ansible-roles is now only-Linux compatible, and add precision for compatibility (Debian 9 and accidentally Debian 8) 6 years ago


A repository for Ansible roles used by Evolix on Debian GNU/Linux 9 (stretch) servers. Few roles are also be compatible with Debian GNU/Linux 8 (jessie) servers.

It contains only roles, everything else is available at


The stable branch contains roles that we consider ready for production.

The unstable branch contains not sufficiently tested roles (or evolutions on existing roles) that we don't consider ready for production yet.

Many feature branches may exist in the repository. They represent "work in progress". They may be used, for testing purposes.

Install and usage

First, check-out the repository :

$ cd ~/GIT/
$ git clone

Then, add its path to your ansible load path :

$ vim ~/.ansible.cfg
roles_path = $HOME/GIT/ansible-roles

Then, include roles in your playbooks :

- hosts: all
  gather_facts: yes
  become: yes
    - etc-git
    - evolinux-base


Contributions are welcome, especially bug fixes and "ansible good practices". They will be merged in if they are consistent with our conventions and use cases. They might be rejected if they introduce complexity, cover features we don't need or don't fit "style".

Before starting anything of importance, we suggest contacting us to discuss what you'd like to add or change.

Our conventions are available in the "ansible-public": repository, in the file.


The ideal and most typical workflow is to create a branch, based on the "unstable" branch. The branch should have a descriptive name (a ticket/issue number is great). The branch can be treated as a pull-request or merge-request. It should be propery tested and reviewed before merging into "unstable".

Changes that don't introduce significant changes — or that must go faster that the typical workflow — can be commited directly into "unstable".

Hotfixes, can be prepared on a new branch, based on "stable" or "unstable" (to be decided by the author). When ready, it can be merged back to "stable" for immediate deployment and to "unstable" for proper backporting.

Other workflow are not forbidden, but should be discussed in advance.