diff --git a/src/apptask.js b/src/apptask.js index 9f59e7ba2..3ac252b8f 100644 --- a/src/apptask.js +++ b/src/apptask.js @@ -24,6 +24,7 @@ const apps = require('./apps.js'), dns = require('./dns.js'), docker = require('./docker.js'), ejs = require('ejs'), + execSync = require('child_process').execSync, fs = require('fs'), iputils = require('./iputils.js'), manifestFormat = require('cloudron-manifestformat'), @@ -619,6 +620,16 @@ async function update(app, args, progressCallback) { await progressCallback({ percent: 60, message: 'Updating addons' }); await services.setupAddons(app, updateConfig.manifest.addons); + // hack for immich pgvecto_rs migration remove with next version + // if (app.appstoreId === 'app.immich.cloudronapp' && updateConfig.manifest.version === '1.55.0') { + if ((app.appStoreId === 'app.immich.cloudronapp' || updateConfig.manifest.id === 'app.immich.cloudronapp') && updateConfig.manifest.version === '1.55.0') { + console.log('i ====> RUNNING IMMICH POSTGRES MIGRATION HOOK'); + await progressCallback({ percent: 65, message: 'Updating pgvectors extension for immich' }); + const { database, username } = services._postgreSqlNames(app.id); + execSync(`docker exec postgresql /app/code/immich_migrate_pgvectors.sh ${database} ${username}`); + // execSync(`docker exec postgresql psql -U root --dbname=${database} -c "ALTER SCHEMA vectors OWNER TO ${username}"`); + } + await progressCallback({ percent: 70, message: 'Creating container' }); await createContainer(app); diff --git a/src/infra_version.js b/src/infra_version.js index ee794e870..70ce2e922 100644 --- a/src/infra_version.js +++ b/src/infra_version.js @@ -16,7 +16,7 @@ exports = module.exports = { 'mail': 'registry.docker.com/cloudron/mail:3.12.1@sha256:f539bea6c7360d3c0aa604323847172359593f109b304bb2d2c5152ca56be05c', 'mongodb': 'registry.docker.com/cloudron/mongodb:6.0.0@sha256:1108319805acfb66115aa96a8fdbf2cded28d46da0e04d171a87ec734b453d1e', 'mysql': 'registry.docker.com/cloudron/mysql:3.4.2@sha256:379749708186a89f4ae09d6b23b58bc6d99a2005bac32e812b4b1dafa47071e4', - 'postgresql': 'registry.docker.com/cloudron/postgresql:5.1.9@sha256:a4b45acdda32502d6ca445b86b59db4832c20c9ff3163dedb49dcd615ca3e1c8', + 'postgresql': 'registry.docker.com/cloudron/postgresql:5.1.10@sha256:bc5db8f92065dc88fb62b7911527612cddb9d6d7f579877f0fde73b8f9c98b8f', 'redis': 'registry.docker.com/cloudron/redis:3.5.2@sha256:5c3d9a912d3ad723b195cfcbe9f44956a2aa88f9e29f7da3ef725162f8e2829a', 'sftp': 'registry.docker.com/cloudron/sftp:3.8.6@sha256:6b4e3f192c23eadb21d2035ba05f8432d7961330edb93921f36a4eaa60c4a4aa', 'turn': 'registry.docker.com/cloudron/turn:1.7.2@sha256:9ed8da613c1edc5cb8700657cf6e49f0f285b446222a8f459f80919945352f6d', diff --git a/src/services.js b/src/services.js index 65e9b9f47..19ff43d0a 100644 --- a/src/services.js +++ b/src/services.js @@ -27,6 +27,9 @@ exports = module.exports = { getContainerDetails, + // exported only for apptask.js to update immich pgvectors extension - can be removed later + _postgreSqlNames: postgreSqlNames, + SERVICE_STATUS_STARTING: 'starting', // container up, waiting for healthcheck SERVICE_STATUS_ACTIVE: 'active', SERVICE_STATUS_STOPPED: 'stopped'