From a8bb27161ddf6e9ed31e44e4117a2ea506c998fe Mon Sep 17 00:00:00 2001 From: chatton Date: Sun, 16 Jul 2023 12:35:34 +0100 Subject: [PATCH] migrate nextcloud and mariadb --- host_vars/dell.yml | 1 + host_vars/qnap.yml | 15 +------ roles/portainer_nextcloud/defaults/main.yml | 7 ++++ roles/portainer_nextcloud/tasks/main.yml | 39 +++++++++++++++++++ .../templates/photoprism.j2 | 10 ++--- 5 files changed, 53 insertions(+), 19 deletions(-) create mode 100644 roles/portainer_nextcloud/defaults/main.yml create mode 100644 roles/portainer_nextcloud/tasks/main.yml diff --git a/host_vars/dell.yml b/host_vars/dell.yml index b176464..4a14eb3 100644 --- a/host_vars/dell.yml +++ b/host_vars/dell.yml @@ -20,6 +20,7 @@ portainer_roles: # mariadb network - role: portainer_mariadb - role: portainer_bookstack + - role: portainer_nextcloud # individual networks - role: portainer_minio - role: portainer_glances diff --git a/host_vars/qnap.yml b/host_vars/qnap.yml index 5f84ef0..b741513 100644 --- a/host_vars/qnap.yml +++ b/host_vars/qnap.yml @@ -48,20 +48,6 @@ portainer_required_files: portainer_endpoint: 2 services: - - name: gitea - template_vars: - image: gitea/gitea - tag: 1.19.0 - - name: nextcloud - template_vars: - default_network: mariadb_net - image: nextcloud - tag: 27.0 - - name: mariadb - template_vars: - image: mariadb - tag: 10.8.3 - default_network: mariadb_net - name: photoprism template_vars: default_network: mariadb_net @@ -83,3 +69,4 @@ portainer_roles: - role: portainer_arr - role: portainer_pihole - role: portainer_nginx_proxy_manager +# - role: portainer_minio diff --git a/roles/portainer_nextcloud/defaults/main.yml b/roles/portainer_nextcloud/defaults/main.yml new file mode 100644 index 0000000..3678032 --- /dev/null +++ b/roles/portainer_nextcloud/defaults/main.yml @@ -0,0 +1,7 @@ +--- +nextcloud_state: present +nextcloud_image: nextcloud +nextcloud_tag: 27.0 +nextcloud_expose_port: 8081 +nextcloud_container_name: nextcloud +nextcloud_portainer_stack_name: nextcloud diff --git a/roles/portainer_nextcloud/tasks/main.yml b/roles/portainer_nextcloud/tasks/main.yml new file mode 100644 index 0000000..0dbb0fc --- /dev/null +++ b/roles/portainer_nextcloud/tasks/main.yml @@ -0,0 +1,39 @@ +--- +- name: Nextcloud | Create docker network. + docker_network: + name: '{{ mariadb_network }}' + +- name: "Nextcloud | Restore any missing volumes from S3" + ansible.builtin.include_role: + name: chatton.docker_backup.docker_s3_volume_restore + vars: + docker_backup_s3_volume: + name: "{{ nextcloud_portainer_stack_name }}_data" + +- name: "Nextcloud | Update Portainer." + chatton.portainer.portainer_stack: + username: '{{ portainer_user }}' + password: '{{ portainer.password }}' + base_url: '{{ portainer_base_url }}' + stack_name: '{{ nextcloud_portainer_stack_name }}' + endpoint_id: '{{ portainer_endpoint }}' + state: "{{ nextcloud_state }}" + definition: + version: '3.2' + services: + nextcloud: + labels: "{{ backup_labels }}" + image: "{{ nextcloud_image }}:{{ nextcloud_tag }}" + container_name: "{{ nextcloud_container_name }}" + restart: "{{ restart_policy }}" + ports: + - "{{ nextcloud_expose_port }}:80" + volumes: + - data:/var/www/html + volumes: + data: + + networks: + default: + name: "{{ mariadb_network }}" + external: true diff --git a/roles/setup_hosted_services/templates/photoprism.j2 b/roles/setup_hosted_services/templates/photoprism.j2 index ac60519..1ff6850 100644 --- a/roles/setup_hosted_services/templates/photoprism.j2 +++ b/roles/setup_hosted_services/templates/photoprism.j2 @@ -31,7 +31,7 @@ services: PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow) PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance - PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB or MySQL database server (hostname:port) + PHOTOPRISM_DATABASE_SERVER: "dell:3306" # MariaDB or MySQL database server (hostname:port) PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name PHOTOPRISM_DATABASE_PASSWORD: {{ photoprism.database_password }} # MariaDB or MySQL database user password @@ -48,7 +48,7 @@ services: - {{ directories.photoprism_dir}}/storage:/photoprism/storage # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE) -networks: - default: - name: {{ template_vars.default_network }} - external: true +#networks: +# default: +# name: {{ template_vars.default_network }} +# external: true