No description
Find a file
Mark van Huijstee 966c8bccba
Merge pull request #19 from de-it-krachten/dev
Update supported platforms & CI (2026-03-14)
2026-03-15 12:40:12 +01:00
.github/workflows Update supported platforms & CI 2026-03-14 19:56:00 +01:00
defaults feat: Update supported platforms & CI 2023-09-19 00:24:24 +02:00
handlers feat: Move to FQCN 2022-10-10 16:19:35 +02:00
meta Update supported platforms & CI 2025-08-06 21:10:24 +02:00
molecule/default Update supported platforms & CI 2026-03-14 15:18:44 +01:00
tasks feat: Update supported platforms & CI 2023-09-19 00:24:24 +02:00
templates Remove obsolete lines from apache template 2022-06-08 21:29:30 +02:00
.ansible-lint feat: Update CI to latest standards 2022-10-10 16:20:17 +02:00
.cicd Update CI 2026-03-06 23:03:57 +01:00
.cicd.overwrite Update CI 2026-03-06 23:03:57 +01:00
.collections feat: Add support for Ubuntu 24.04 LTS + Fedora 40 2024-05-31 23:40:56 +02:00
.gitignore feat: Update supported platforms & CI 2024-12-29 11:46:40 +01:00
.releaserc.yml Update CI 2026-03-06 23:03:57 +01:00
.roles feat: Update CI to latest standards 2022-10-10 16:20:17 +02:00
.yamllint feat: Update supported platforms & CI 2024-12-29 11:46:40 +01:00
CHANGELOG.md chore(release): 1.8.0 [skip ci] 2025-08-07 16:45:57 +00:00
README.md Update CI 2026-03-06 23:03:57 +01:00

CI

ansible-role-rainloop

Manages rainloop

Dependencies

Roles

None

Collections

  • ansible.posix
  • community.general

Platforms

Supported platforms

  • Red Hat Enterprise Linux 81
  • Red Hat Enterprise Linux 91
  • Red Hat Enterprise Linux 101
  • RockyLinux 8
  • RockyLinux 9
  • RockyLinux 10
  • OracleLinux 8
  • OracleLinux 9
  • OracleLinux 10
  • AlmaLinux 8
  • AlmaLinux 9
  • AlmaLinux 10
  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)
  • Debian 13 (Trixie)
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS

Note: 1 : no automated testing is performed on these platforms

Role Variables

defaults/main.yml


# product version
rainloop_version: latest

# release api
rainloop_api: https://api.github.com/repos/RainLoop/rainloop-webmail/releases/latest

# release url
rainloop_url: https://github.com/RainLoop/rainloop-webmail/releases/download/v{{ rainloop_version }}/rainloop-legacy-{{ rainloop_version }}.zip

# directory to put temporary download file into
rainloop_tmpdir: /tmp

# local file
rainloop_file: '{{ rainloop_tmpdir }}/rainloop-community-latest.zip'

# temporary directory
rainloop_tmp: "{{ rainloop_tmpdir }}/rainloop-tmp"

# OS user/group
rainloop_user: "{{ 'apache' if rainloop_web_server == 'apache' else 'www-data' }}"
rainloop_group: "{{ 'apache' if rainloop_web_server == 'apache' else 'www-data' }}"

# Restrict access to local loopback
rainloop_restrict_access: false

# dict of rainloop settings
rainloop_settings: {}

# Default domain template
rainloop_domain_template: domain.j2

defaults/family-Debian.yml


# list of packages
rainloop_packages:
  - unzip
  - rsync

# default web service
rainloop_web_server: nginx

# web service
rainloop_web_service: "{{ 'apache2' if rainloop_web_server == 'apache' else 'nginx' }}"

# php socket
rainloop_php_socket: /var/run/php/php-fpm.sock

defaults/family-RedHat.yml


# list of packages
rainloop_packages:
  - unzip
  - rsync

# default web service
rainloop_web_server: apache

# web service
rainloop_web_service: "{{ 'httpd' if rainloop_web_server == 'apache' else 'nginx' }}"

# php socket
rainloop_php_socket: /var/run/php/php-fpm.sock

Example Playbook

molecule/default/converge.yml


- name: sample playbook for role 'rainloop'
  hosts: all
  become: 'yes'
  vars:
    molecule_driver: '{{ lookup(''env'', ''MOLECULE_DRIVER_NAME'') }}'
    openssl_fqdn: server.example.com
    apache_fqdn: '{{ openssl_fqdn }}'
    apache_ssl_key: '{{ openssl_server_key }}'
    apache_ssl_crt: '{{ openssl_server_crt }}'
    apache_ssl_chain: '{{ openssl_server_crt }}'
    nginx_server_name: webmail.example.com
    nginx_ssl_key: '{{ openssl_server_key }}'
    nginx_ssl_crt: '{{ openssl_server_crt }}'
    nginx_root: /var/www/webmail.example.com/public_html
    nginx_logdir: /var/www/webmail.example.com/log
    rainloop_vhost: webmail.example.com
    rainloop_domain: example.com
    rainloop_ssl_key: '{{ openssl_server_key }}'
    rainloop_ssl_crt: '{{ openssl_server_crt }}'
    rainloop_ssl_chain: '{{ openssl_server_crt }}'
    rainloop_path: /var/www/webmail.example.com/public_html
    rainloop_log: /var/www/webmail.example.com/log
    rainloop_web_server: '{{ ''apache'' if ansible_os_family == ''RedHat'' else ''nginx''
      }}'
  roles:
    - deitkrachten.openssl
    - role: deitkrachten.apache
      when: ansible_os_family == 'RedHat'
    - role: deitkrachten.nginx
      when: ansible_os_family == 'Debian'
    - deitkrachten.php
  tasks:
    - name: Include role 'rainloop'
      ansible.builtin.include_role:
        name: rainloop