{"id":23984589,"url":"https://github.com/tohuwabohu/puppet-roundcube","last_synced_at":"2026-03-08T16:30:51.194Z","repository":{"id":19529119,"uuid":"22776598","full_name":"tohuwabohu/puppet-roundcube","owner":"tohuwabohu","description":"Puppet module for installing and managing the Roundcube webmail application","archived":false,"fork":false,"pushed_at":"2025-03-18T18:22:44.000Z","size":489,"stargazers_count":4,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T22:21:54.535Z","etag":null,"topics":["puppet","roundcube","roundcube-webmail"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tohuwabohu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-09T02:01:52.000Z","updated_at":"2025-03-18T18:22:42.000Z","dependencies_parsed_at":"2023-02-14T14:35:18.475Z","dependency_job_id":"35f5d29c-dbd5-43a0-8e28-1c50fd3362a5","html_url":"https://github.com/tohuwabohu/puppet-roundcube","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-roundcube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-roundcube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-roundcube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-roundcube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tohuwabohu","download_url":"https://codeload.github.com/tohuwabohu/puppet-roundcube/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248850118,"owners_count":21171703,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["puppet","roundcube","roundcube-webmail"],"created_at":"2025-01-07T13:33:32.365Z","updated_at":"2025-12-11T21:33:19.296Z","avatar_url":"https://github.com/tohuwabohu.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# roundcube\n\n[![License](https://img.shields.io/github/license/tohuwabohu/puppet-roundcube.svg)](https://github.com/tohuwabohu/puppet-roundcube/blob/master/LICENSE.txt)\n[![build-and-test](https://github.com/tohuwabohu/puppet-roundcube/actions/workflows/main.yml/badge.svg)](https://github.com/tohuwabohu/puppet-roundcube/actions/workflows/main.yml)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/tohuwabohu/roundcube.svg)](https://forge.puppetlabs.com/tohuwabohu/roundcube)\n[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/tohuwabohu/roundcube.svg)](https://forge.puppetlabs.com/tohuwabohu/roundcube)\n\n## Overview\n\nPuppet module to install and manage Roundcube. Roundcube webmail...\n\n\u003e is a browser-based multilingual IMAP client with an application-like user interface.\n\n(source: [Roundcube website](https://roundcube.net/)).\n\n## Usage\n\nThe module uses [composer](https://getcomposer.org/) to install 3rd party dependencies specified by Roundcube and to\ndownload additional plugins from the [Roundcube Plugin Repository](http://plugins.roundcube.net/).\n\nNote: At the moment, the module relies on `git` being installed without explicitly requiring it. Git is to checkout\nseveral pacakge repositories listed in Roundcube's `composer.json`.\n\nTo install Roundcube with all defaults simply use\n\n```\nclass { 'roundcube': }\n```\n\nSpecify a certain mail server\n\n```\nclass { 'roundcube':\n  imap_host =\u003e 'ssl://localhost',\n  imap_port =\u003e 993,\n}\n```\n\nSpecify the database to be used by Roundcube\n\n```\nclass { 'roundcube':\n  db_type     =\u003e 'pgsql',\n  db_name     =\u003e 'roundcube',\n  db_host     =\u003e 'localhost',\n  db_username =\u003e 'roundcube',\n  db_password =\u003e 'secret',\n}\n```\n\nor specify the database DSN directly (e.g. when using SQLite)\n\n```\nclass { 'roundcube':\n  db_dsn =\u003e 'sqlite:////var/lib/database/roundcube.db?mode=0646',\n}\n```\n\nSpecify a couple of plugins to activate\n\n```\nclass { 'roundcube':\n  plugins =\u003e [\n    'emoticons',\n    'markasjunk',\n    'password',\n  ],\n}\n```\n(see below for more information)\n\n## Archive Module\nThis module supports both well-known `archive` modules. This allows you to use your favorite archive module (either https://github.com/voxpupuli/puppet-archive or https://github.com/camptocamp/puppet-archive). Please make sure that the required archive module is installed and that you have set the parameter `archive_provider` to either `camptocamp` (default) or `puppet`.\n\n\n## Advanced usage\n\nSpecify advanced parameters\n\n```\nclass { 'roundcube':\n  options_hash {\n    'language'    =\u003e 'en_US', # override auto-detection\n    'support_url' =\u003e 'http://example.com/helpdesk',\n  },\n}\n```\n\nor even use your own configuration file template\n\n```\nclass { 'roundcube':\n  config_file_template =\u003e 'path/to/config_file.erb.',\n  options_hash         =\u003e {\n    'some_param_1' =\u003e '...',\n  },\n}\n```\n\nYou can then use `\u003c%= @options['some_param_1'] %\u003e` in your template. See `config/defaults.inc.php` in the Roundcube\ndirectory for a complete list of possible configuration arguments.\n\n## Roundcube plugins\n\nRoundcube ships a couple of very useful plugins. If you're happy with the default settings, you can enable plugins by\nsimply adding the plugin names to the `plugins` list:\n\n```\nclass { 'roundcube':\n  plugins =\u003e [\n    'password',\n  ],\n}\n```\n\nIf you want to override the default configuration, you should declare a `roundcube::plugin` resource instead and provide\nthe custom configuration values\n\n```\n$db_password_encoded = uriescape($db_password)\n$password_db_dsn = \"pgsql://${db_username}:${db_password_encoded}@localhost/${db_name}\"\n\nroundcube::plugin { 'password':\n  options_hash =\u003e {\n    'password_minimum_length'   =\u003e 16,\n    'password_require_nonalpha' =\u003e true,\n    'password_force_new_user'   =\u003e true,\n    'password_db_dsn'           =\u003e $password_db_dsn,\n  },\n}\n```\n\nTo install a plugin from the [Roundcube plugin repository](https://plugins.roundcube.net/), you only need to specify\nthe package name and the desired version, e.g.\n\n```\nroundcube::plugin { 'johndoh/markasjunk2':\n  ensure =\u003e 'dev-release-1.9',\n  options_hash =\u003e {\n    # override the default options\n  },\n}\n```\n\n## Limitations\n\nThe module has been tested on the following operating systems. Testing and patches for other platforms are welcome.\n\n* Debian 9.0 (Stretch)\n* Debian 10.0 (Buster)\n* Ubuntu 18.04 (Bionic Beaver)\n* Ubuntu 20.04 (Focal Fossa)\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n### Development\n\nThis project uses rspec-puppet and beaker to ensure the module works as expected and to prevent regressions.\n\n```\ngem install bundler\nbundle install\n\nbundle exec rake spec\nbundle exec rake beaker\n```\n(note: see [Beaker - Supported ENV variables](https://github.com/puppetlabs/beaker-rspec/blob/master/README.md) for a\nlist of environment variables to control the default behaviour of Beaker)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftohuwabohu%2Fpuppet-roundcube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftohuwabohu%2Fpuppet-roundcube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftohuwabohu%2Fpuppet-roundcube/lists"}