diff --git a/resources/ansible/playbook.yml b/resources/ansible/playbook.yml index 4c0d445c92..9690635c98 100644 --- a/resources/ansible/playbook.yml +++ b/resources/ansible/playbook.yml @@ -12,5 +12,5 @@ - php - xdebug - composer - - app - mailcatcher + - app diff --git a/resources/ansible/roles/mailcatcher/defaults/main.yml b/resources/ansible/roles/mailcatcher/defaults/main.yml index 51a1d6302b..506313630a 100644 --- a/resources/ansible/roles/mailcatcher/defaults/main.yml +++ b/resources/ansible/roles/mailcatcher/defaults/main.yml @@ -1,2 +1,8 @@ --- mailcatcher_gem: mailcatcher +mailcatcher_user: mailcatcher +mailcatcher_smtp_ip: '0.0.0.0' +mailcatcher_smtp_port: '1025' +mailcatcher_http_ip: '0.0.0.0' +mailcatcher_http_port: '1080' +mailcatcher_log_path: '/var/log/mailcatcher' diff --git a/resources/ansible/roles/mailcatcher/handlers/main.yml b/resources/ansible/roles/mailcatcher/handlers/main.yml new file mode 100644 index 0000000000..7896536693 --- /dev/null +++ b/resources/ansible/roles/mailcatcher/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: restart mailcatcher + supervisorctl: name=mailcatcher state=restarted diff --git a/resources/ansible/roles/mailcatcher/tasks/main.yml b/resources/ansible/roles/mailcatcher/tasks/main.yml index e69de29bb2..bfc615e947 100644 --- a/resources/ansible/roles/mailcatcher/tasks/main.yml +++ b/resources/ansible/roles/mailcatcher/tasks/main.yml @@ -0,0 +1,14 @@ +--- +- name: Create mailcatcher user + user: name={{ mailcatcher_user }} comment='Mailcatcher Mock Smtp Service User' home='/var/spool/mailcatcher' shell='/bin/true' + +- name: Create mailcatcher log directory + file: path={{ mailcatcher_log_path }} owner=mailcatcher mode=0755 state=directory + +- name: Install Mailcatcher + gem: name={{ mailcatcher_gem }} user_install=no state=latest + notify: restart mailcatcher + +- name: Install mailcatcher supervisord conf + template: src='program_mailcatcher.conf.j2' dest='/etc/supervisor/conf.d/program_mailcatcher.conf' + notify: restart mailcatcher diff --git a/resources/ansible/roles/mailcatcher/templates/program_mailcatcher.conf.j2 b/resources/ansible/roles/mailcatcher/templates/program_mailcatcher.conf.j2 new file mode 100644 index 0000000000..bc70b6502c --- /dev/null +++ b/resources/ansible/roles/mailcatcher/templates/program_mailcatcher.conf.j2 @@ -0,0 +1,9 @@ +[program:mailcatcher] +command=/usr/local/bin/mailcatcher --http-ip {{ mailcatcher_http_ip }} --http-port {{ mailcatcher_http_port }} --smtp-ip {{ mailcatcher_smtp_ip }} --smtp-port {{ mailcatcher_smtp_port }} -f +priority=100 +autostart=true +autorestart=true +user={{ mailcatcher_user }} +stdout_logfile={{ mailcatcher_log_path }}/program_mailcatcher.log +stderr_logfile={{ mailcatcher_log_path }}/program_mailcatcher.error +environment=PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin' diff --git a/resources/ansible/vars/all.yml b/resources/ansible/vars/all.yml index 527ec6274f..9caea9f7bd 100644 --- a/resources/ansible/vars/all.yml +++ b/resources/ansible/vars/all.yml @@ -2,16 +2,19 @@ server: install: '1' packages: - - vim - - git - - imagemagick - - htop - - nodejs - - npm - - iotop - - pkg-config - - libzmq3-dev - - supervisor + - vim + - git + - imagemagick + - htop + - nodejs + - npm + - iotop + - pkg-config + - libzmq3-dev + - supervisor + - ruby-dev + - sqlite3 + - libsqlite3-dev timezone: UTC locales: - en_GB.UTF-8 @@ -51,3 +54,6 @@ xdebug: composer: install: '1' +mailcatcher: + install: '1' +