This Ansible role is designed to install and configure CouchDB for using the [official CouchDB Docker image](https://github.com/apache/couchdb-docker) via the [ansible-role-couchdb](https://github.com/Bergruebe/ansible-role-couchdb).
**Warning**: This role will not delete or modify existing databases or users. It will only create new databases and users if they do not already exist.
You can customize the behavior of the role by setting the following variables in your playbook:
-`couchdb_environment_variables_extension`: to add additional environment variables to the CouchDB container.
-`couchdb_config_extension`: to add additional configuration to the CouchDB configuration
-`couchdb_config_peruser_enabled`: to enable per-user configuration in CouchDB | default is `true`.
-`couchdb_config_require_valid_user_except_for_up`: to require a valid user for all requests except for the `_up` endpoint | default is `true`.
-`couchdb_container_additional_networks_custom`: to add additional networks to the CouchDB container.
-`couchdb_version`: to specify the version of the CouchDB Docker image to use
For more information on possible configuration, refer to the comments in the [`defaults/main.yml`](https://github.com/Bergruebe/ansible-role-couchdb/blob/master/defaults/main.yml) file.
By default, this role **will not expose the CouchDB port** to the host machine. If you want to access CouchDB from outside the Docker container, you will need to expose the port in your playbook via the `couchdb_container_http_host_bind_port` variable. Or you can just add the container to another docker network via the `couchdb_container_additional_networks_custom` variable.
Please consider the use of a reverse proxy for secure access to CouchDB.
Currently, the [ansible-role-couchdb](https://github.com/Bergruebe/ansible-role-couchdb) Ansible role **does not automatically integrate with Traefik**. PRs are welcome!
Contributions are welcome! Please feel free to review the [ansible-role-couchdb](https://github.com/Bergruebe/ansible-role-couchdb) repository and submit a Pull Request.