Fellow self hosting friends, I screwed up. Not only have I deleted Immich’s PostgreSQL folder but I also didn’t have backups (of the database, of the photos I do).

I’ve tried to recover the deleted folder but there’s not much left even with proper tools. I’ve checked and the photos are still there, so my question is: Is there a way for immich to rebuild the database with the photos there? Should I start from scratch and re-upload?

  • gezero@lemmy.bowyerhub.uk
    link
    fedilink
    English
    arrow-up
    15
    ·
    2 days ago

    I am only a solo user that tried similar recovery.

    There are several jobs in the admin section, one of them is “migrate the storage template” or something like this. I think that thing might do what you want. I would check that it is set properly depending on what you were using previously and rerun in. https://immich.app/docs/administration/storage-template/

    I also wanted to mention that normally Immich dumps its own db into a file backup file somewhere. I forgot where. Check the database dump backup cron job in the settings.

    • witx@lemmy.sdf.orgOP
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      1 day ago

      I also wanted to mention that normally Immich dumps its own db into a file backup file somewhere. I forgot where. Check the database dump backup cron job in the settings

      Hi, thank you. This was the solution. Immich was storing its backup files to DB_UPLOAD (as defined on the .env) file. There will be a backup folder with a bunch of .sql.gz files) Picked one and ran the following command

      gunzip --stdout “/path/to/backup/dump.sql.gz”
      | sed “s/SELECT pg_catalog.set_config(‘search_path’, ‘’, false);/SELECT pg_catalog.set_config(‘search_path’, ‘public, pg_catalog’, true);/g”
      | docker exec -i immich_postgres psql --dbname=postgres --username=<DB_USERNAME>

      As documented on immich’ s website

  • MangoPenguin@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 day ago

    You can add your existing photos as an external library after starting from scratch with Immich, they’ll show up just like before.

  • webghost0101@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    3
    ·
    2 days ago

    This does not help you but it makes me think of this:

    I understand why it makes technical sense to do so but immich storing things in a database in general is more nuisance then practical.

    We want those fotos accessible in our own file system where we have full control of what is what.

    Immich job is to put the pictures from a phone to the server and also to display all pictures within a certain directory.

    It does a good job at both. Having your own file structure is not a problem and it seem to even know and adapt if pics get moved around.

    But we have to manually move the photos out of its own structure into our own every time we do a big upload.

    Maybe i can set something up with syslinks so it all appears centralized as a big “upload” folder to be sorted.

    • Infernal_pizza@lemm.ee
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      When you first set it up there is an option to set a custom filesystem, I selected that and then chose the default which just sorts by year and day

      • webghost0101@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        I am aware and actually use this but it appears too restrictive for our needs.

        The structure we were already using cannot be recreated. Honestly i could live with the default. But my partner who is less into computers likes to make their own backups on external hard drives and uses shared network drives rather then the immich web viewer.

          • webghost0101@sopuli.xyz
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            1 day ago

            I am, that works really well actually and it even knows when the same file was moved.

            But to add new files to that external library, which is in fact the only main library. We need to dig in immich file structure which at the very least enforces different directories per individual user and also uses those to store some forms of metadata.

            We tried sharing a user in the beginning but the app did not seem to like that.

            Now its not the biggest deal, just an annoyance. the fix i am currently thinking is to move the immich directory to somewhere hidden and us systemlinks to get all uploads centralized under a single directory for further processing.