#Advice before updating to v1.102.0

1 messages · Page 1 of 1 (latest)

floral egretBOT
#

:wave: Hey @undone remnant,

Thanks for reaching out to us. Please follow the recommended actions below; this will help us be more effective in our support effort and leave more time for building Immich immich.

References

Checklist

  1. :blue_square: I have verified I'm on the latest release(note that mobile app releases may take some time).
  2. :blue_square: I have read applicable release notes.
  3. :blue_square: I have reviewed the FAQs for known issues.
  4. :blue_square: I have reviewed Github for known issues.
  5. :blue_square: I have tried accessing Immich via local ip (without a custom reverse proxy).
  6. :blue_square: I have uploaded the relevant logs, docker compose, and .env files using the buttons below or the /upload command.
  7. :blue_square: I have tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable

(an item can be marked as "complete" by reacting with the appropriate number)

If this ticket can be closed you can use the /close command, and re-open it later if needed.

errant skiff
#

"⚠️ Breaking Changes (OPT-IN ONLY)"

#

If you do not change the compose or env at all, nothing bad will happen

light cosmos
#

Until there is another mandatory change in the docker-compose, right?
There was a similar situation with the new name: immich directive in v1.88 (nov 2023) which wasn't mandatory per se, but might cause issue if you forget to comment it in a future update.
At some point, I assume the "opt-in" might become the way to go if you want to properly keep up with the changes.

errant skiff
#

Ok, well if you want to opt in you can’t just change the compose and yaml

#

You need to grab the data from pgdata volume and move it to a bind mount

#

But this is not currently recommended if you don’t know how to do that

#

If you really want to try the safest way is to use docker run -it --rm alpine cp -prn source dest. You’ll need to mount the source and dest using -v

#

But I again do not recommend this if you’re not familiar with how docker and Linux works

light cosmos
#

As it was the opportunity for me to catch up, I basically used the standard backup/restore procedure (https://immich.app/docs/administration/backup-and-restore)
changing my docker-compose.yml & .env files during the restore process:

  1. docker compose down -v
  2. update .env & docker-compose.yml files
  3. docker compose pull
  4. following steps during the documented restore process
    Not sure it's the best way, but that worked pretty smoothly for me
errant skiff
light cosmos
errant skiff
light cosmos
errant skiff
#

Do you use snapshot or stop backup method in proxmox?

#

If the container remains accessible its snapshot

light cosmos
errant skiff
#

You can start here, but the snapshot method is not guaranteed to be safe if files are modified during backup https://pve.proxmox.com/wiki/Backup_and_Restore

Doing a database backup while the DB is running is a bad idea. If a commit happens during a backup you can end up in situation where some files already got backed up and others didn’t

#

Leading to a corrupted checkpoint

#

Best practice would be to either use pg_dumpall if you want everything still running. Or shut down the LXC when backing up

sonic inlet
thorn kelp
#

it delete the database, not the actual file

#

which you will lost your user, album and other information about your previous instance

#

Correct

crystal plume
#

Hi. I am using Ubuntu and running on top of Docker Desktop. If I follow the 4 steps you posted, do I need to do anything more? Can I DM you?

crystal plume
errant skiff
crystal plume
#

what does this meant by?

errant skiff
#

No, if you do pg_dumpall you can restore using that file

crystal plume
errant skiff
#

The link I sent outlines exactly how to backup and restore the database

#

Of course you will also want to move the UPLOAD_LOCATION folder

crystal plume
#

or extract and copy only particular file?

errant skiff
#

No, not to upload location. To wherever you can run the next command , gunzip … , on the new machine

crystal plume
#

docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | gzip > "/sparky/ImmichBackup/dump.sql.gz"

#

my immich installation folder is /sparky/immich-app/

#

This is where the photos are there inside immich installation folder

#

this is where i am copying the backup file

errant skiff
#

Yeah that looks good. Now you move those files to the new server and run the restore commands

crystal plume
#

Do i need to restore it to upgrade?

errant skiff
#

What version are you on?

crystal plume
errant skiff
#

Ok. You can do it as in the documents. You need to restore as it gives the instructions

crystal plume
#

should I follow this?

#

Also, do I need to create new installation folder or try this from the existing installation folder itself?

wanton oxide
#

Not to sound like a smartass, apologies if it came off that way. But bind mounts and volumes appear the same for a container anyway.

crystal plume
errant skiff
#

I don’t really get the question. You need to restore the same folder structure at UPLOAD_LOCATION

crystal plume
errant skiff
#

Yes

crystal plume
# errant skiff Yes

Thanks it worked. Updating instruction in github would benefit more. I see many are having trouble following high level notes given in the release note. Do you have access to update the release note?

errant skiff
#

Our goal was not to provide super detialed instructions because we felt people would try to run commands they don't recognize and break things

#

for people who care enough to do it, we hope they understand how to do basic linux commands. thanks for your thoughts

crystal plume
hidden remnant
torn gulch
#

The reason we made the change is to keep people from unintentionally deleting their database volume. Since the whole point of the change is to minimize risk, it doesn’t make sense to encourage people to do something that puts their instance at unnecessary risk.

If anything, it might have been better to not emphasize the change as much in the release notes since there was no action needed.

crystal plume
thorn kelp
#

It’s done lol

#

Quite a chase but we got it 😃 great team we have here