Moving from docker for Windows to Linux (Mint?).

Damn. I had made a very long post, but somehow something went wrong. Basically what I'd like to know is the following. Currently I have my DB_DATA_LOCATION and UPLOAD_LOCATION on an external NTFS formatted USB drive:
# The location where your uploaded files are stored
UPLOAD_LOCATION=E:\Immich\library
# The location where your database files are stored
DB_DATA_LOCATION=E:\Immich\postgres
# The location where your uploaded files are stored
UPLOAD_LOCATION=E:\Immich\library
# The location where your database files are stored
DB_DATA_LOCATION=E:\Immich\postgres
With Docker For Windows this works. But I'm not that impressed by the performance and would like to switch to Linux (total noob). From the docs I understand that the DB_DATA_LOCATION cannot be on an NTFS drive, correct ? So when I install Linux on a new harddrive I need to change the location in the .ENV to this (EXT4) drive ? But, would it be possible to keep the UPLOAD_LOCATION on the original NTFS formatted USB drive ? My external libraries and upload folder are way to big to put on the EXT4 drive. Also what would be the correct way to restore the database from Windows to Linux ? Do I do the PowerShell (Windows) backup as noted here: https://immich.app/docs/administration/backup-and-restore#manual-backup-and-restore And then the Linux restore as noted on the same page ? There is a difference in filenames for the dump, the Linux version is named dump.sql.gz but the Windows version is named dump.sql without .gz Can I just change the filename to dump.sql.gz on my Windows dump ? Or doesn't it work like that ? Thanks in advance for helping me. I really love Immich !!
8 Replies
Immich
Immich3w ago
:wave: Hey @WalkerOfTheDay, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: 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) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed. Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Mraedis
Mraedis3w ago
Hi @WalkerOfTheDay the restore command is different because of the way Linux and Unix work, it's not just the tgz compression, compare the full command What you want to restore to Linux is just use the Linux restore command
WalkerOfTheDay
WalkerOfTheDayOP3w ago
Thanks for your reply @Mraedis. Basically my question is, how do I restore the backup I made on windows (dump.sql) on onto a new Linux installation ? The restore instructions for Linux talk about .gz files but I do not have it, because I made the backup on Windows.
Mraedis
Mraedis3w ago
Ah right, just use cat dump.sql instead of the gunzip bla.sql.gz in the linux command all gunzip --stdout does is unzip it and dump it to stdout, like cat would.
WalkerOfTheDay
WalkerOfTheDayOP3w ago
docker compose down -v # CAUTION! Deletes all Immich data to start from scratch
## Uncomment the next line and replace DB_DATA_LOCATION with your Postgres path to permanently reset the Postgres database
# rm -rf DB_DATA_LOCATION # CAUTION! Deletes all Immich data to start from scratch
docker compose pull # Update to latest version of Immich (if desired)
docker compose create # Create Docker containers for Immich apps without running them
docker start immich_postgres # Start Postgres server
sleep 10 # Wait for Postgres server to start up
# Check the database user if you deviated from the default
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> # Restore Backup
docker compose up -d # Start remainder of Immich apps
docker compose down -v # CAUTION! Deletes all Immich data to start from scratch
## Uncomment the next line and replace DB_DATA_LOCATION with your Postgres path to permanently reset the Postgres database
# rm -rf DB_DATA_LOCATION # CAUTION! Deletes all Immich data to start from scratch
docker compose pull # Update to latest version of Immich (if desired)
docker compose create # Create Docker containers for Immich apps without running them
docker start immich_postgres # Start Postgres server
sleep 10 # Wait for Postgres server to start up
# Check the database user if you deviated from the default
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> # Restore Backup
docker compose up -d # Start remainder of Immich apps
So I can just change the gunzip line to what you said ?
Mraedis
Mraedis3w ago
Yes
WalkerOfTheDay
WalkerOfTheDayOP3w ago
Thanla again. What about my other questions regarding the NTFS usb drive? Do you or anyone else know?
Mraedis
Mraedis3w ago
Ah sorry I missed that, yeah that should work

Did you find this page helpful?