Compare commits

...

24 Commits

Author SHA1 Message Date
caf82b43be update(server): bump version to 31.0.6 2025-06-12 21:36:27 +02:00
ba3581fec2 update(server): bump version to 31.0.5 2025-05-15 16:09:22 +02:00
dabf804bb0 update(nginx_fpm_proxy): bump nginx version to 1.28.0 2025-04-24 15:11:22 +02:00
473d4aa38c fix(ldap_user_backend): move multi-valued keys to arrays when checking 2025-04-23 16:51:17 +02:00
425a3d18e0 update(onlyoffice_documentserver): bump version to 8.3.3 2025-04-18 09:46:52 +02:00
4a33321f0e update(nginx_fpm_proxy): bump version to 1.27.5 2025-04-18 09:45:39 +02:00
1ca530f337 feat(onlyoffice_documentserver): add ansible role 2025-04-13 20:20:25 +02:00
5df510b266 update(server): bump version to 31.0.3 2025-04-11 17:52:56 +02:00
aa8cb40c34 meta: bump galaxy version to 0.8.0, require 'community.docker@^4.0.0' 2025-04-02 22:03:13 +02:00
18389388ab update(nginx): bump version to 1.27.4 2025-03-22 11:04:46 +01:00
e76cf67277 update(server): bump version to 31.0.1 2025-03-19 18:42:27 +01:00
8764acb3c3 update(server): bump version to 31.0.1 2025-03-15 19:04:07 +01:00
87d7e8285f update(nextcloud): bump version to 31.0.0 2025-02-25 18:11:48 +01:00
eea141b844 update(nextcloud): bump version to 30.0.6 2025-02-21 16:48:06 +01:00
4969faeb70 meta: bump galaxy version to 0.7.3 2025-01-30 15:38:28 +01:00
00fa76be14 update(nginx_fpm_proxy): bump nginx version to 1.27.3 2025-01-30 15:37:37 +01:00
23f70c9f26 update(server): bump version to 30.0.5 2025-01-20 21:09:35 +01:00
4f7cd41d72 update(server): bump version to 30.0.4 2024-12-22 20:18:40 +01:00
bb0e1f3ad5 meta: bump collection version to 0.7.2 2024-11-30 19:31:50 +01:00
12ac351254 chore(server): 'purge_networks' option for 'docker_container' module is removed 2024-11-30 19:29:26 +01:00
dbb6fe15ce chore(server): support setting /etc/hosts in container 2024-11-26 20:19:20 +01:00
3616ad5f45 update(server): bump version to 30.0.2 2024-11-25 21:46:16 +01:00
0a3b32c823 fix(server): use correct jinja2 tags 2024-11-02 12:08:08 +01:00
e2e8d84c13 chore(nginx_fpm_proxy): provide defaults for not defined variables 2024-10-26 19:01:08 +02:00
14 changed files with 130 additions and 19 deletions

View File

@ -1,12 +1,12 @@
namespace: finallycoffee namespace: finallycoffee
name: nextcloud name: nextcloud
version: 0.7.1 version: "0.8.0"
readme: README.md readme: README.md
authors: authors:
- transcaffeine <transcaffeine@finally.coffee> - transcaffeine <transcaffeine@finally.coffee>
description: Installing and configuring nextcloud (and related apps/services) using docker description: Installing and configuring nextcloud (and related apps/services) using docker
dependencies: dependencies:
"community.docker": "^3.0.0" "community.docker": "^4.0.0"
license_file: LICENSE.md license_file: LICENSE.md
build_ignore: build_ignore:
- '*.tar.gz' - '*.tar.gz'
@ -14,5 +14,5 @@ repository: https://git.finally.coffee/finallycoffee/nextcloud
issues: https://codeberg.org/finallycoffee/ansible-collection-nextcloud/issues issues: https://codeberg.org/finallycoffee/ansible-collection-nextcloud/issues
tags: tags:
- nextcloud - nextcloud
- nextcloud-apps - nextcloud_apps
- docker - docker

View File

@ -0,0 +1,6 @@
---
- name: Deploy onlyoffice documentserver
hosts: "{{ onlyoffice_documentserver_hosts | default('onlyoffice_documentserver') }}"
become: "{{ onlyoffice_documentserver_become | default(false, true) }}"
roles:
- role: finallycoffee.nextcloud.onlyoffice_documentserver

View File

@ -12,9 +12,12 @@ nc_ldap_config_keys:
ldapBackupHost: "{{ nc_ldap_config_backup_host }}" ldapBackupHost: "{{ nc_ldap_config_backup_host }}"
ldapBackupPort: "{{ nc_ldap_config_backup_port }}" ldapBackupPort: "{{ nc_ldap_config_backup_port }}"
ldapOverrideMainServer: "{{ nc_ldap_config_override_main_server }}" ldapOverrideMainServer: "{{ nc_ldap_config_override_main_server }}"
ldapBase: "{{ nc_ldap_config_base_dn }}" ldapBase:
ldapBaseUsers: "{{ nc_ldap_config_base_dn_users }}" - "{{ nc_ldap_config_base_dn }}"
ldapBaseGroups: "{{ nc_ldap_config_base_dn_groups }}" ldapBaseUsers:
- "{{ nc_ldap_config_base_dn_users }}"
ldapBaseGroups:
- "{{ nc_ldap_config_base_dn_groups }}"
ldapAgentName: "{{ nc_ldap_config_agent_name }}" ldapAgentName: "{{ nc_ldap_config_agent_name }}"
ldapAgentPassword: "{{ nc_ldap_config_agent_password }}" ldapAgentPassword: "{{ nc_ldap_config_agent_password }}"
ldapTLS: "{{ nc_ldap_config_tls }}" ldapTLS: "{{ nc_ldap_config_tls }}"
@ -30,8 +33,10 @@ nc_ldap_config_keys:
ldapAttributesForUserSearch: "{{ nc_ldap_config_attributes_for_user_search }}" ldapAttributesForUserSearch: "{{ nc_ldap_config_attributes_for_user_search }}"
ldapGroupFilter: "{{ nc_ldap_config_group_filter }}" ldapGroupFilter: "{{ nc_ldap_config_group_filter }}"
ldapGroupFilterMode: "{{ nc_ldap_config_group_filter_mode }}" ldapGroupFilterMode: "{{ nc_ldap_config_group_filter_mode }}"
ldapGroupFilterObjectclass: "{{ nc_ldap_config_group_filter_objectclass }}" ldapGroupFilterObjectclass:
ldapGroupFilterGroups: "{{ nc_ldap_config_group_filter_groups }}" - "{{ nc_ldap_config_group_filter_objectclass }}"
ldapGroupFilterGroups:
- "{{ nc_ldap_config_group_filter_groups }}"
ldapGroupMemberAssocAttr: "{{ nc_ldap_config_group_member_assoc_attr }}" ldapGroupMemberAssocAttr: "{{ nc_ldap_config_group_member_assoc_attr }}"
ldapGroupDisplayName: "{{ nc_ldap_config_group_displayname }}" ldapGroupDisplayName: "{{ nc_ldap_config_group_displayname }}"
ldapAttributesForGroupSearch: "{{ nc_ldap_config_attributes_for_group_search }}" ldapAttributesForGroupSearch: "{{ nc_ldap_config_attributes_for_group_search }}"

View File

@ -1,6 +1,5 @@
--- ---
nextcloud_nginx_version: "1.28.0"
nextcloud_nginx_version: "1.25.3"
nextcloud_nginx_basepath: /opt/nextcloud-nginx nextcloud_nginx_basepath: /opt/nextcloud-nginx
nextcloud_nginx_config: "{{ nextcloud_nginx_basepath }}/nextcloud.conf" nextcloud_nginx_config: "{{ nextcloud_nginx_basepath }}/nextcloud.conf"
nextcloud_nginx_servernames: ~ nextcloud_nginx_servernames: ~

View File

@ -29,9 +29,9 @@
env: "{{ nextcloud_nginx_container_env }}" env: "{{ nextcloud_nginx_container_env }}"
name: "{{ nextcloud_nginx_container_name }}" name: "{{ nextcloud_nginx_container_name }}"
image: "{{ nextcloud_nginx_container_image_ref }}" image: "{{ nextcloud_nginx_container_image_ref }}"
ports: "{{ nextcloud_nginx_container_ports }}" ports: "{{ nextcloud_nginx_container_ports | default(omit, true) }}"
volumes: "{{ nextcloud_nginx_container_volumes }}" volumes: "{{ nextcloud_nginx_container_volumes }}"
labels: "{{ nextcloud_nginx_container_labels }}" labels: "{{ nextcloud_nginx_container_labels | default(omit, true) }}"
networks: "{{ nextcloud_nginx_container_networks | default(omit) }}" networks: "{{ nextcloud_nginx_container_networks | default(omit, true) }}"
restart_policy: "{{ nextcloud_nginx_container_restart_policy }}" restart_policy: "{{ nextcloud_nginx_container_restart_policy }}"
state: started state: started

View File

@ -0,0 +1,4 @@
# `finallycoffee.nextcloud.onlyoffice_documentserver` ansible role
Ansible role to deploy [ONLYOFFICE](https://www.onlyoffice.com)'s
document editing server using docker.

View File

@ -0,0 +1,44 @@
---
onlyoffice_documentserver_container_name: "onlyoffice-documentserver"
onlyoffice_documentserver_container_image: >-2
{{
[
onlyoffice_documentserver_container_image_repository,
onlyoffice_documentserver_container_image_tag
| default(onlyoffice_documentserver_version, true)
] | join(':')
}}
onlyoffice_documentserver_container_image_registry: docker.io
onlyoffice_documentserver_container_image_namespace: "onlyoffice"
onlyoffice_documentserver_container_image_name: "documentserver"
onlyoffice_documentserver_container_image_repository: >-2
{{ onlyoffice_documentserver_container_image_registry
+ (('/' + onlyoffice_documentserver_container_image_namespace)
if onlyoffice_documentserver_container_image_namespace else '')
+ '/' + onlyoffice_documentserver_container_image_name }}
onlyoffice_documentserver_container_image_tag: ~
onlyoffice_documentserver_container_image_source: pull
onlyoffice_documentserver_container_image_force_source: >-2
{{ onlyoffice_documentserver_container_image_tag | default(false, true) }}
onlyoffice_documentserver_container_env: {}
onlyoffice_documentserver_container_ports: ~
onlyoffice_documentserver_container_labels: ~
onlyoffice_documentserver_container_ulimits: ~
onlyoffice_documentserver_container_networks: ~
onlyoffice_documentserver_container_dns_servers: ~
onlyoffice_documentserver_container_etc_hosts: ~
onlyoffice_documentserver_container_memory: ~
onlyoffice_documentserver_container_memory_reservation: ~
onlyoffice_documentserver_container_memory_swap: ~
onlyoffice_documentserver_container_state: >-2
{{ (onlyoffice_documentserver_state == 'present')
| ternary('started', 'absent') }}
onlyoffice_documentserver_container_restart_policy: "on-failure"
onlyoffice_documentserver_default_volumes:
- "/var/log/onlyoffice:/var/log/onlyoffice:rw"
onlyoffice_documentserver_volumes: ~
onlyoffice_documentserver_all_volumes: >-2
{{ onlyoffice_documentserver_default_volumes | default([], true)
+ onlyoffice_documentserver_volumes | default([], true) }}

View File

@ -0,0 +1,6 @@
---
onlyoffice_documentserver_user: "onlyoffice"
onlyoffice_documentserver_version: "8.3.3"
onlyoffice_documentserver_state: present
onlyoffice_documentserver_deployment_method: docker

View File

@ -0,0 +1,25 @@
---
- name: Ensure container image '{{ onlyoffice_documentserver_container_image }}' is {{ onlyoffice_documentserver_state }}
community.docker.docker_image:
name: "{{ onlyoffice_documentserver_container_image }}"
state: "{{ onlyoffice_documentserver_state }}"
source: "{{ onlyoffice_documentserver_container_image_source }}"
force_source: "{{ onlyoffice_documentserver_container_image_force_source }}"
- name: Ensure container '{{ onlyoffice_documentserver_container_name }}' is {{ onlyoffice_documentserver_container_state }}
community.docker.docker_container:
name: "{{ onlyoffice_documentserver_container_name }}"
image: "{{ onlyoffice_documentserver_container_image }}"
env: "{{ onlyoffice_documentserver_container_env | default(omit, true) }}"
ports: "{{ onlyoffice_documentserver_container_ports | default(omit, true) }}"
labels: "{{ onlyoffice_documentserver_container_labels | default(omit, true) }}"
volumes: "{{ onlyoffice_documentserver_all_volumes }}"
ulimits: "{{ onlyoffice_documentserver_container_ulimits | default(omit, true) }}"
networks: "{{ onlyoffice_documentserver_container_networks | default(omit, true) }}"
dns_servers: "{{ onlyoffice_documentserver_container_dns_servers | default(omit, true) }}"
etc_hosts: "{{ onlyoffice_documentserver_container_etc_hosts | default(omit, true) }}"
memory: "{{ onlyoffice_documentserver_container_memory | default(omit, true) }}"
memory_reservation: "{{ onlyoffice_documentserver_container_memory_reservation | default(omit, true) }}"
memory_swap: "{{ onlyoffice_documentserver_container_memory_swap | default(omit, true) }}"
restart_policy: "{{ onlyoffice_documentserver_container_restart_policy }}"
state: "{{ onlyoffice_documentserver_container_state }}"

View File

@ -0,0 +1,18 @@
---
- name: Ensure 'onlyoffice_documentserver_state' is valid
ansible.builtin.fail:
msg: >-2
Unsupported state '{{ onlyoffice_documentserver_state }}'.
Supported states are {{ onlyoffice_documentserver_states | join(', ') }}.
when: onlyoffice_documentserver_state not in onlyoffice_documentserver_states
- name: Ensure 'onlyoffice_documentserver_deployment_method' is valid
ansible.builtin.fail:
msg: >-2
Unsupported deployment method '{{ onlyoffice_documentserver_deployment_method }}'.
Supported deployment methods are {{ onlyoffice_documentserver_deployment_methods | join(', ') }}.
when: onlyoffice_documentserver_deployment_method not in onlyoffice_documentserver_deployment_methods
- name: Deploy using {{ onlyoffice_documentserver_deployment_method }}
ansible.builtin.include_tasks:
file: "deploy-{{ onlyoffice_documentserver_deployment_method }}.yml"

View File

@ -0,0 +1,6 @@
---
onlyoffice_documentserver_states:
- present
- absent
onlyoffice_documentserver_deployment_methods:
- docker

View File

@ -1,6 +1,5 @@
--- ---
nextcloud_version: "31.0.6"
nextcloud_version: 30.0.1
nextcloud_user: nextcloud nextcloud_user: nextcloud
nextcloud_basepath: /opt/nextcloud nextcloud_basepath: /opt/nextcloud
nextcloud_config_path: "{{ nextcloud_basepath }}/config" nextcloud_config_path: "{{ nextcloud_basepath }}/config"
@ -52,7 +51,6 @@ nextcloud_container_extra_labels: {}
nextcloud_container_extra_environment: {} nextcloud_container_extra_environment: {}
nextcloud_container_networks: ~ nextcloud_container_networks: ~
nextcloud_container_purge_other_networks: true
nextcloud_paths: nextcloud_paths:
- path: "{{ nextcloud_config_path }}" - path: "{{ nextcloud_config_path }}"

View File

@ -28,9 +28,9 @@
value_type: >- value_type: >-
{% if value is boolean %} {% if value is boolean %}
boolean boolean
{% elsif value is integer %} {% elif value is integer %}
integer integer
{% elsif value is float %} {% elif value is float %}
float float
{% else %} {% else %}
string string

View File

@ -118,8 +118,8 @@
volumes: "{{ nextcloud_container_volumes }}" volumes: "{{ nextcloud_container_volumes }}"
labels: "{{ nextcloud_container_labels }}" labels: "{{ nextcloud_container_labels }}"
env: "{{ nextcloud_container_env }}" env: "{{ nextcloud_container_env }}"
etc_hosts: "{{ nextcloud_container_etc_hosts | default(omit, true) }}"
networks: "{{ nextcloud_container_networks | default(omit, true) }}" networks: "{{ nextcloud_container_networks | default(omit, true) }}"
purge_networks: "{{ nextcloud_container_purge_other_networks }}"
restart_policy: "{{ nextcloud_container_restart_policy }}" restart_policy: "{{ nextcloud_container_restart_policy }}"
state: started state: started