Compare commits
9 commits
a4bf1371ab
...
23e504e481
Author | SHA1 | Date | |
---|---|---|---|
23e504e481 | |||
f36c602a0e | |||
b8acfca98e | |||
a70efcf8e9 | |||
81b86deddc | |||
16304bd7c4 | |||
abbf7b50dc | |||
93ed612a65 | |||
11fe863b6d |
4 changed files with 87 additions and 3 deletions
|
@ -9,6 +9,9 @@ nextcloud_admin_user: admin
|
||||||
nextcloud_admin_password: mynextcloud
|
nextcloud_admin_password: mynextcloud
|
||||||
nextcloud_trusted_domains: localhost
|
nextcloud_trusted_domains: localhost
|
||||||
nextcloud_trusted_proxies: [ '172.18.0.0/16' ]
|
nextcloud_trusted_proxies: [ '172.18.0.0/16' ]
|
||||||
|
nextcloud_default_phone_region: DE
|
||||||
|
nextcloud_database_utils:
|
||||||
|
- nextcloud-mysql-innodb-convert-row-format.sh
|
||||||
virtual_host: localhost
|
virtual_host: localhost
|
||||||
letsencrypt_host:
|
letsencrypt_host:
|
||||||
letsencrypt_email:
|
letsencrypt_email:
|
||||||
|
|
16
files/nextcloud-mysql-innodb-convert-row-format.sh
Executable file
16
files/nextcloud-mysql-innodb-convert-row-format.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Source: https://help.nextcloud.com/t/upgrade-to-nextcloud-hub-10-31-0-0-incorrect-row-format-found-in-your-database/218366/13
|
||||||
|
|
||||||
|
# # Prompt for database credentials
|
||||||
|
# read -p "Enter Database Name: " MYSQL_DATABASE
|
||||||
|
# read -p "Enter Username: " MYSQL_USER
|
||||||
|
# read -s -p "Enter Password: " MYSQL_PASSWORD
|
||||||
|
# echo
|
||||||
|
|
||||||
|
mysql -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE" -Bse "
|
||||||
|
SELECT CONCAT('ALTER TABLE \`', TABLE_NAME, '\` ROW_FORMAT=DYNAMIC;')
|
||||||
|
FROM INFORMATION_SCHEMA.TABLES
|
||||||
|
WHERE TABLE_SCHEMA = '$MYSQL_DATABASE'
|
||||||
|
AND ENGINE = 'InnoDB'
|
||||||
|
" | mysql -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE"
|
|
@ -15,6 +15,25 @@
|
||||||
group: "{{ docker_user }}"
|
group: "{{ docker_user }}"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
|
|
||||||
|
- name: Ensure database utils scripts directory exists
|
||||||
|
file:
|
||||||
|
path: /home/{{ docker_user }}/nextcloud/utils
|
||||||
|
state: directory
|
||||||
|
owner: '{{ docker_user }}'
|
||||||
|
group: '{{ docker_user }}'
|
||||||
|
|
||||||
|
- name: Provide database utils scripts
|
||||||
|
copy:
|
||||||
|
src: "{{ item }}"
|
||||||
|
dest: /home/{{ docker_user }}/nextcloud/utils/
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
group: "{{ docker_user }}"
|
||||||
|
mode: '0644'
|
||||||
|
loop: "{{ nextcloud_database_utils }}"
|
||||||
|
when:
|
||||||
|
- nextcloud_database_utils is defined
|
||||||
|
- nextcloud_database_utils | length > 0
|
||||||
|
|
||||||
- name: Provide docker-compose.yml
|
- name: Provide docker-compose.yml
|
||||||
template:
|
template:
|
||||||
src: templates/docker-compose.nextcloud.yml.j2
|
src: templates/docker-compose.nextcloud.yml.j2
|
||||||
|
@ -101,15 +120,16 @@
|
||||||
CRON_SCHEDULE="{{ restic_cron_schedule }}"
|
CRON_SCHEDULE="{{ restic_cron_schedule }}"
|
||||||
when: nextcloud_enable_restic_compose_backup == true
|
when: nextcloud_enable_restic_compose_backup == true
|
||||||
|
|
||||||
- name: "docker-compose: Teardown existing Nextcloud service"
|
- name: "docker-compose: Teardown existing Nextcloud service (will keep your volumes)"
|
||||||
docker_compose:
|
docker_compose:
|
||||||
project_src: "/home/{{ docker_user }}/nextcloud/"
|
project_src: "/home/{{ docker_user }}/nextcloud/"
|
||||||
state: absent
|
state: absent
|
||||||
tags: ['never', 'teardown']
|
tags: ['teardown']
|
||||||
|
|
||||||
- name: "docker-compose: Start Nextcloud service"
|
- name: "docker-compose: Start Nextcloud service"
|
||||||
docker_compose:
|
docker_compose:
|
||||||
project_src: "/home/{{ docker_user }}/nextcloud/"
|
project_src: "/home/{{ docker_user }}/nextcloud/"
|
||||||
|
pull: true
|
||||||
register: output
|
register: output
|
||||||
tags: service_start
|
tags: service_start
|
||||||
|
|
||||||
|
@ -131,6 +151,11 @@
|
||||||
host: "{{ nextcloud_ip }}"
|
host: "{{ nextcloud_ip }}"
|
||||||
port: 80
|
port: 80
|
||||||
|
|
||||||
|
- name: "docker-compose: Enable maintenance mode using occ"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ maintenance:mode --on'
|
||||||
|
|
||||||
- name: "docker-compose: Set overwriteprotocol using occ"
|
- name: "docker-compose: Set overwriteprotocol using occ"
|
||||||
shell:
|
shell:
|
||||||
chdir: /home/{{ docker_user }}/nextcloud/
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
@ -172,6 +197,45 @@
|
||||||
debug:
|
debug:
|
||||||
var: "{{ nextcloud_app_install_result }}"
|
var: "{{ nextcloud_app_install_result }}"
|
||||||
|
|
||||||
|
- name: "docker-compose: Set default_phone_region using occ"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ config:system:set default_phone_region --value="{{ nextcloud_default_phone_region }}"'
|
||||||
|
|
||||||
|
- name: "docker-compose: Set maintenance_window_start to 1 using occ (This will run maintenance tasks between 01:00-05:00 UTC)"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ config:system:set maintenance_window_start --value=1 --type=integer'
|
||||||
|
|
||||||
|
- name: "docker-compose: Update all apps using occ"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ app:update --all'
|
||||||
|
|
||||||
|
- name: "docker-compose: Add missing indices using occ"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ db:add-missing-indices'
|
||||||
|
|
||||||
|
- name: "docker-compose: Run maintenance:repair --include-expensive using occ"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ maintenance:repair --include-expensive'
|
||||||
|
|
||||||
|
- name: "docker-compose: Run database utils"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T mysqldb /bin/sh '/opt/utils/{{ item }}'
|
||||||
|
loop: "{{ nextcloud_database_utils }}"
|
||||||
|
when:
|
||||||
|
- nextcloud_database_utils is defined
|
||||||
|
- nextcloud_database_utils | length > 0
|
||||||
|
|
||||||
|
- name: "docker-compose: Disable maintenance mode using occ"
|
||||||
|
shell:
|
||||||
|
chdir: /home/{{ docker_user }}/nextcloud/
|
||||||
|
cmd: docker-compose exec -T -u www-data nextcloud-app /bin/sh -c './occ maintenance:mode --off'
|
||||||
|
|
||||||
- name: "Test whether Nextcloud is healthy from the outside"
|
- name: "Test whether Nextcloud is healthy from the outside"
|
||||||
when: not ansible_check_mode
|
when: not ansible_check_mode
|
||||||
become: false
|
become: false
|
||||||
|
|
|
@ -12,6 +12,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- mysqldb:/var/lib/mysql
|
- mysqldb:/var/lib/mysql
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ./utils/:/opt/utils:ro
|
||||||
env_file:
|
env_file:
|
||||||
- db.env
|
- db.env
|
||||||
{% if nextcloud_enable_restic_compose_backup %}
|
{% if nextcloud_enable_restic_compose_backup %}
|
||||||
|
@ -21,7 +22,7 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
nextcloud-app:
|
nextcloud-app:
|
||||||
image: nextcloud:29-fpm-alpine
|
image: nextcloud:31-fpm-alpine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: nextcloud-app
|
container_name: nextcloud-app
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
Loading…
Add table
Reference in a new issue