Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/x86-39/ansible_role_mailcow
Ansible role to install Mailcow in Docker
https://github.com/x86-39/ansible_role_mailcow
Last synced: about 4 hours ago
JSON representation
Ansible role to install Mailcow in Docker
- Host: GitHub
- URL: https://github.com/x86-39/ansible_role_mailcow
- Owner: x86-39
- License: mit
- Created: 2023-10-27T11:46:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-07T11:28:33.000Z (6 months ago)
- Last Synced: 2024-11-08T10:54:51.307Z (11 days ago)
- Language: Jinja
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ansible Role Mailcow
=========[![Molecule Test](https://github.com/diademiemi/ansible_role_mailcow/actions/workflows/molecule.yml/badge.svg)](https://github.com/diademiemi/ansible_role_mailcow/actions/workflows/molecule.yml)
This is an Ansible role to install and configure mailcow.
Include more information about mailcow in this section.
Requirements
------------
These platforms are supported:
- Ubuntu 20.04
- Ubuntu 22.04
- Debian 11
- Debian 12
- EL 8 (Tested on Rocky Linux 8)
- EL 9 (Tested on Rocky Linux 9)
- Fedora 40
- openSUSE Leap 15.5Role Variables
--------------Variable | Default | Description
--- | --- | ---
`mailcow_git_tag` | `"2023-10a"` | The git tag to use for Mailcow
`mailcow_git_override_changes` | `true` | Prevents updating or changing Mailcow manually
`mailcow_pass_scheme` | `"BLF-CRYPT"` | The password scheme for Mailcow
`mailcow_hostname` | `{{ ansible_fqdn }}` | The fully qualified domain name for Mailcow
`mailcow_dbname` | `"mailcow"` | The database name for Mailcow
`mailcow_dbuser` | `"mailcow"` | The database user for Mailcow
`mailcow_dbpass` | `"mailcow"` | The database password for Mailcow
`mailcow_dbroot` | `{{ mailcow_dbpass }}` | The root password for the Mailcow database
`mailcow_http_port` | `80` | The HTTP port for Mailcow
`mailcow_https_port` | `443` | The HTTPS port for Mailcow
`mailcow_http_bind` | `"0.0.0.0"` | The bind address for Mailcow's HTTP service
`mailcow_https_bind` | `"0.0.0.0"` | The bind address for Mailcow's HTTPS service
`mailcow_tz` | `"UTC"` | The timezone setting for Mailcow
`mailcow_compose_project_name` | `"mailcowdockerized"` | The Docker Compose project name for Mailcow
`mailcow_docker_compose_version` | `"native"` | Indicates the version of Docker Compose to use
`mailcow_additional_san` | `""` | Additional Subject Alternative Names for SSL
`mailcow_additional_server_names` | `""` | Additional server names for Mailcow
`mailcow_letsencrypt` | `true` | Whether to use Let's Encrypt for SSL certificates
`mailcow_ip_check` | `true` | Enables IP checking for Mailcow
`mailcow_http_verification` | `true` | Enables HTTP verification for Mailcow
`mailcow_clamd` | `true` | Whether to enable ClamAV for Mailcow
`mailcow_sogo` | `true` | Whether to enable SOGo for Mailcow
`mailcow_solr` | `true` | Whether to enable Solr for Mailcow
`mailcow_use_watchdog` | `true` | Whether to use the watchdog feature in Mailcow
`mailcow_watchdog_verbose_logging` | `false` | Enables verbose logging for the Mailcow watchdog
`mailcow_internal_ipv4_network` | `"172.22.1"` | The internal IPv4 network range for Mailcow
`mailcow_internal_ipv6_network` | `"fd4d:6169:6c63:6f77::/64"` | The internal IPv6 network range for Mailcow
`mailcow_api_key` | `"mailcow"` | The API key for Mailcow
`mailcow_api_key_readonly` | `"mailcow"` | The read-only API key for Mailcow
`mailcow_api_allow_from` | `{{ ansible_default_ipv4.address }}` | The allowed IP address for Mailcow API access
`mailcow_allow_admin_email_login` | `false` | Whether to allow admin email login in MailcowDependencies
------------None
Example Playbook
----------------```yaml
- name: Use diademiemi.mailcow role
hosts: "{{ target | default('mailcow') }}"
roles:
- role: "diademiemi.mailcow"
tags: ['diademiemi', 'mailcow', 'setup'] ``````
License
-------MIT
Author Information
------------------- diademiemi (@diademiemi)
Role Testing
------------This repository comes with Molecule that run in Podman on the supported platforms.
Install Molecule by running```bash
pip3 install -r requirements.txt
```Run the tests with
```bash
molecule test
```These tests are automatically ran by GitHub Actions on push. If the tests are successful, the role is automatically published to Ansible Galaxy.