{"id":19583821,"url":"https://github.com/bodsch/ansible-collabora","last_synced_at":"2025-04-27T10:33:12.360Z","repository":{"id":218974785,"uuid":"747217989","full_name":"bodsch/ansible-collabora","owner":"bodsch","description":"Ansible role to install and configure collabora office","archived":false,"fork":false,"pushed_at":"2024-08-19T14:45:08.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-19T17:16:56.932Z","etag":null,"topics":["ansible","ansible-role","automation","collabora","collabora-office"],"latest_commit_sha":null,"homepage":"","language":"Jinja","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/bodsch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2024-01-23T14:00:41.000Z","updated_at":"2024-08-19T14:45:11.000Z","dependencies_parsed_at":"2024-01-28T20:25:32.485Z","dependency_job_id":"8f373619-470b-4401-8184-3098a638989d","html_url":"https://github.com/bodsch/ansible-collabora","commit_stats":null,"previous_names":["bodsch/ansible-collabora"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodsch%2Fansible-collabora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodsch%2Fansible-collabora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodsch%2Fansible-collabora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bodsch%2Fansible-collabora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bodsch","download_url":"https://codeload.github.com/bodsch/ansible-collabora/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224069628,"owners_count":17250451,"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":["ansible","ansible-role","automation","collabora","collabora-office"],"created_at":"2024-11-11T07:44:59.552Z","updated_at":"2025-04-27T10:33:12.352Z","avatar_url":"https://github.com/bodsch.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":" \n# Ansible Role:  `collabora`\n\nAnsible role to install and configure [collabora office](https://www.collaboraoffice.com).\n\n---\n\n\u003e I am in the process of transferring this role to a [collection](https://github.com/bodsch/ansible-collection-cloud) and will therefore no longer process any issues or merge requests here.  \n\u003e However, I will include them in the collection!  \n\u003e **Please be patient until I have completed the work!**\n\n---\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/bodsch/ansible-collabora/main.yml?logo=github\u0026branch=main)][ci]\n[![GitHub issues](https://img.shields.io/github/issues/bodsch/ansible-collabora?logo=github)][issues]\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/bodsch/ansible-collabora?logo=github)][releases]\n[![Ansible Downloads](https://img.shields.io/ansible/role/d/bodsch/collabora?logo=ansible)][galaxy]\n\n[ci]: https://github.com/bodsch/ansible-collabora/actions\n[issues]: https://github.com/bodsch/ansible-collabora/issues?q=is%3Aopen+is%3Aissue\n[releases]: https://github.com/bodsch/ansible-collabora/releases\n[galaxy]: https://galaxy.ansible.com/ui/standalone/roles/bodsch/collabora/\n\n\n## Requirements \u0026 Dependencies\n\nAnsible Collections\n\n- [bodsch.core](https://github.com/bodsch/ansible-collection-core)\n\n```bash\nansible-galaxy collection install bodsch.core\n```\nor\n```bash\nansible-galaxy collection install --requirements-file collections.yml\n```\n\n## usage\n\n```yaml\ncollabora_user_default: cool\n\ncollabora_service: {}\n\ncollabora_config: {}\n```\n\n### `collabora_service`\n\n```yaml\ncollabora_service:\n  pidfile: \"\"\n  port: \"\"\n  disable_ssl: true\n  disable_cool_user_checking: true\n  # defaults:\n  # sys_template_path=/opt/cool/systemplate\n  # child_root_path=/opt/cool/child-roots\n  # file_server_root_path=/usr/share/coolwsd\n  overrides:\n    sys_template_path: /opt/cool/systemplate\n    child_root_path: /opt/cool/child-roots\n    file_server_root_path: /usr/share/coolwsd\n  config_file: \"\"\n  config_dir: \"\"\n  lo_template_path: \"\"\n```\n\n### `collabora_config`\n\n```yaml\ncollabora_config:\n  # The languages allowed.\n  allowed_languages: []\n  fetch_update_check: 24                      # hours\n  cache_path: /var/cache/loolwsd\n  # You can manage the mounting feature. Either \"false\" or \"true\". (As a string.)\n  mount_jail_tree: true\n  server_name: \"\"\n  logging: {}\n  #\n  trace_event:\n    enable: false\n    path: /var/log/coolwsd.trace.json\n  #\n  network: {}\n  #\n  ssl: {}\n  #\n  security:\n    seccomp: \"\"\n    capabilities: \"\"\n    jwt_expiry_secs: \"\"\n    enable_macros_execution: \"\"\n    macro_security_level: \"\"\n    enable_websocket_urp: \"\"\n    enable_metrics_unauthenticated: \"\"\n  #\n  watermark:\n    opacity: \"\"\n    text: \"\"\n  #\n  user_interface:\n    # Controls the user interface style.\n    # The 'default' means: Take the value from ui_defaults, or decide for one of compact or tabbed (default|compact|tabbed)\n    mode: \"\"\n    # Use theme from the integrator\n    use_integration_theme: true\n  #\n  storage: {}\n  #\n  admin_console: {}\n```\n\n### `collabora_config.logging`\n\n```yaml\ncollabora_config:\n\n  logging:\n    color: true\n    # Set the log level. Can be 0 through 8, none or \"fatal\", \"critical\", \"error\",\n    # \"warning\", \"notice\", \"information\", \"debug\", \"trace\".\n    level: warning\n    startup: information\n    most_verbose: notice\n    least_verbose: fatal\n    file:\n      enable: false\n      path: /var/log/loolwsd.log\n      rotation: never\n      archive: timestamp\n      compress: true\n      purge:\n        days: 10\n        count: 10\n      rotate_on_open: true\n      flush: false\n\n    anonymize:\n      user_data: true\n      salt: \"\"\n    docstats: false\n    userstats: false\n```\n\n### `collabora_config.storage`\n\n```yaml\ncollabora_config:\n\n  storage:\n    hosts: []\n      #   - description: \"\"\n      #     allow: \"\"\n      #     host: \"\"\n    wopi:\n      allow: true\n      # Maximum document size in bytes to load. 0 for unlimited.\n      max_file_size: 0\n      locking:\n        refresh: 900\n      alias_groups:\n        # default mode is 'first' /  set mode to 'groups' and define group to allow multiple host\n        mode: \"first\"          \n        groups: []\n      #   - description: \"\"\n      #     allow: \"\"\n      #     host: \"\"\n      #     aliases: []\n```\n\n### `collabora_config.network`\n\n```yaml\ncollabora_config:\n\n  network:\n    # Protocol to use IPv4, IPv6 or all for both\n    proto: IPv4\n    # Listen address that coolwsd binds to. Can be 'any' or 'loopback'.\n    listen: loopback\n    # Allow/deny client IP address for POST(REST).\n    post_allow:\n      hosts: []\n        # - description: \"The IPv4 private 10.0.0.0/8 subnet (Podman).\"\n        #   network: '10\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}'\n        # - description: \"Ditto, but as IPv4-mapped IPv6 addresses\"\n        #   network: '::ffff:10\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}'\n\n    # Allowed hosts as an external data source inside edited files.\n    # All allowed post_allow.host and storage.wopi entries are also considered to be\n    # allowed as a data source.\n    # Used for example in: PostMessage Action_InsertGraphics, =WEBSERVICE() function, external reference in the cell.\n    lok_allow:\n      hosts: []\n        # - description: \"Localhost access by name\"\n        #   network: 'localhost\n```\n\n\n### `collabora_config.ssl`\n\n```yaml\ncollabora_config:\n\n  ssl:\n    # Controls whether SSL encryption between coolwsd and the network is enabled (do not disable for production deployment). If default is false, must first be compiled with SSL support to enable.\n    enabled: false\n    # Connection via proxy where coolwsd acts as working via https, but actually uses http.\n    termination: false\n    # These settings become relevant when `collabora_ssl_enabled` is set to\n    # `yes`.\n    cert_file: /etc/coolwsd/cert.pem\n    key_file: /etc/coolwsd/key.pem\n    ca_file: /etc/coolwsd/ca-chain.cert.pem\n    cipher_list:\n      - \"ALL\"\n      - \"!ADH\"\n      - \"!LOW\"\n      - \"!EXP\"\n      - \"!MD5\"\n      - \"@STRENGTH\"\n    # Enable HTTP Public key pinning\n    hpkp:\n      enable: false\n      report_only: false\n      # HPKP's max-age directive - time in seconds browser should remember the pins\n      max_age: 1000\n      # HPKP's report-uri directive - pin validation failure are reported at this URL\n      report_enable: false\n      report_uri:\n      # Base64 encoded SPKI fingerprints of keys to be pinned\n      pins: []\n    # Strict-Transport-Security settings, per rfc6797. Subdomains are always included.\n    sts:\n      # Whether or not Strict-Transport-Security is enabled. Enable only when ready for production. Cannot be disabled without resetting the browsers.\n      enabled: false\n      # Strict-Transport-Security max-age directive, in seconds. 0 is allowed; please see rfc6797 for details. Defaults to 1 year.\n      max_age: 31536000\n```\n\n### `collabora_config.admin_console`\n\n```yaml\ncollabora_config:\n\n  admin_console:\n    enable: true\n    # Enable admin user authentication with PAM\n    enable_pam: false\n    # The username of the admin console. Ignored if PAM is enabled.\n    username: \"admin\"\n    # The password of the admin console. Deprecated on most platforms. Instead, use PAM or coolconfig to set up a secure password.\n    password: \"50m3-53cu23-p455w02d.\"\n    # Log admin activities irrespective of logging.level\n    logging:\n      # log when an admin logged into the console\n      admin_login: true\n      # log when metrics endpoint is accessed and metrics endpoint authentication is enabled\n      metrics_fetch: true\n      # log when external monitor gets connected\n      monitor_connect: true\n      # log when admin does some action for example killing a process\n      admin_action: true\n```\n---\n\n## Admin Console\n\n[collabora.molecule.lan](https://collabora.molecule.lan/browser/dist/admin/admin.html)\n\n---\n\n## Contribution\n\nPlease read [Contribution](CONTRIBUTING.md)\n\n## Development,  Branches (Git Tags)\n\nThe `master` Branch is my *Working Horse* includes the \"latest, hot shit\" and can be complete broken!\n\nIf you want to use something stable, please use a [Tagged Version](https://github.com/bodsch/ansible-collabora/-/tags)!\n\n---\n\n## Author and License\n\n- Bodo Schulz\n\n## License\n\n[Apache](LICENSE)\n\n**FREE SOFTWARE, HELL YEAH!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodsch%2Fansible-collabora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbodsch%2Fansible-collabora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodsch%2Fansible-collabora/lists"}