From 68a2fbf5499d24b0b7d97e1fca13027a5a49da5a Mon Sep 17 00:00:00 2001 From: Paul-Henri Froidmont Date: Sat, 8 Jun 2019 23:53:21 +0200 Subject: [PATCH] Migrate Nextcloud database to PostgreSQL --- roles/daily-backup/templates/fullBackup.sh | 2 +- .../files/nextcloud/docker-compose.yml | 17 +++++++---------- .../nextcloud/config/database.config.php | 8 +++----- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/roles/daily-backup/templates/fullBackup.sh b/roles/daily-backup/templates/fullBackup.sh index aa47ea6..e18556d 100755 --- a/roles/daily-backup/templates/fullBackup.sh +++ b/roles/daily-backup/templates/fullBackup.sh @@ -8,7 +8,7 @@ REPOSITORY=ssh://backup@212.129.12.205:22/./ export BORG_PASSPHRASE='{{backup_borg_passphrase}}' echo 'Dumping NextCloud database' -docker exec nextcloud_db_1 sh -c "mysqldump -u nextcloud -p{{nextcloud_mysql_password}} nextcloud > /backups/database.dmp" +docker exec nextcloud_postgres_1 sh -c "pg_dump -U nextcloud nextcloud > /backups/database.dmp" echo 'Dumping S.T.B. wordpress database' docker exec stb_db_1 sh -c "mysqldump -u stb -p{{stb_mysql_password}} stb > /backups/database.dmp" diff --git a/roles/nextcloud-docker/files/nextcloud/docker-compose.yml b/roles/nextcloud-docker/files/nextcloud/docker-compose.yml index bf115bb..9444bf5 100644 --- a/roles/nextcloud-docker/files/nextcloud/docker-compose.yml +++ b/roles/nextcloud-docker/files/nextcloud/docker-compose.yml @@ -22,7 +22,6 @@ services: - "traefik.default.protocol=http" depends_on: - app -# - collabora networks: - web - default @@ -36,25 +35,23 @@ services: - /data:/media - /etc/localtime:/etc/localtime:ro environment: - - MYSQL_HOST=db - NEXTCLOUD_UPDATE=1 depends_on: - - db + - postgres - redis restart: always - db: - image: mariadb + postgres: + image: postgres volumes: - - /var/lib/mariadb/nextcloud:/var/lib/mysql - - ./db/custom.cnf:/etc/mysql/conf.d/custom.cnf + - /var/lib/postgresql/nextcloud:/var/lib/postgresql/data - /backups/nextcloud:/backups - /etc/localtime:/etc/localtime:ro environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - - MYSQL_DATABASE=${MYSQL_DATABASE} - - MYSQL_USER=${MYSQL_USER} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - POSTGRES_DB=nextcloud + - POSTGRES_USER=nextcloud + - POSTGRES_PASSWORD=${MYSQL_PASSWORD} restart: always redis: diff --git a/roles/nextcloud-docker/templates/nextcloud/config/database.config.php b/roles/nextcloud-docker/templates/nextcloud/config/database.config.php index 7a69331..70db6c1 100644 --- a/roles/nextcloud-docker/templates/nextcloud/config/database.config.php +++ b/roles/nextcloud-docker/templates/nextcloud/config/database.config.php @@ -1,11 +1,9 @@ 'mysql', + 'dbtype' => 'pgsql', 'dbname' => 'nextcloud', - 'dbhost' => 'db', - 'dbport' => '3306', + 'dbhost' => 'postgres', 'dbtableprefix' => 'oc_', 'dbuser' => 'nextcloud', - 'dbpassword' => '{{nextcloud_mysql_password}}', - 'mysql.utf8mb4' => true + 'dbpassword' => '{{nextcloud_mysql_password}}' );