Immich
Comandi Docker per Immich
I container principali di Immich sono
immich_server,immich_machine_learningeimmich_postgres. Tutti i comandi si eseguono dalla cartella dove si trova ildocker-compose.yml.
immich-admin — CLI amministrativa
Il container immich_server include una CLI integrata chiamata immich-admin.
Prima connettiti al container, poi esegui i comandi:
docker exec -it immich_server bash
# una volta dentro:
immich-admin help
Oppure direttamente senza entrare nel container:
docker exec -it immich_server immich-admin <comando>
| Comando | Descrizione |
|---|---|
help |
Mostra tutti i comandi disponibili |
version |
Versione installata di Immich |
list-users |
Elenca gli utenti |
reset-admin-password |
Resetta la password dell'admin |
enable-password-login |
Abilita il login con password |
disable-password-login |
Disabilita il login con password |
enable-oauth-login |
Abilita il login OAuth |
disable-oauth-login |
Disabilita il login OAuth |
enable-maintenance-mode |
Attiva la modalità manutenzione |
disable-maintenance-mode |
Disattiva la modalità manutenzione |
change-media-location |
Aggiorna i path nel DB dopo aver spostato i media |
Esempi pratici
# Resettare la password dell'admin
docker exec -it immich_server immich-admin reset-admin-password
# Attivare la modalità manutenzione
docker exec -it immich_server immich-admin enable-maintenance-mode
# → restituisce un URL con token per accedere alla manutenzione
# Disattivarla dopo l'intervento
docker exec -it immich_server immich-admin disable-maintenance-mode
# Vedere la versione
docker exec -it immich_server immich-admin version
Backup del database
Il backup automatico è attivo per default (ogni giorno alle 2:00, ultimi 14 backup).
I file vengono salvati in UPLOAD_LOCATION/backups.
Per avviare un backup manuale via web UI: Administration → Job Queues → Create job → Create Database Backup
Per fare un backup manuale da riga di comando:
docker exec -t immich_postgres pg_dumpall \
--clean --if-exists \
--username=<DB_USERNAME> \
> /percorso/backup/immich-database.sql
Con compressione:
docker exec -t immich_postgres pg_dumpall \
--clean --if-exists \
--username=<DB_USERNAME> \
| gzip > /percorso/backup/immich-database.sql.gz
Attenzione: il backup del database contiene solo i metadati, non le foto/video. Per un backup completo occorre copiare anche la cartella
UPLOAD_LOCATION.
Restore del database
Il metodo raccomandato è via web UI: Administration → Maintenance → Restore database backup
Per il restore da riga di comando (richiede un'installazione fresca dove il server non ha mai girato):
# 1. Crea i container senza avviarli
docker compose create
# 2. Avvia solo Postgres
docker start immich_postgres
sleep 10
# 3. Esegui il restore
docker exec -i immich_postgres psql \
--dbname=postgres \
--username=<DB_USERNAME> \
< /percorso/backup/immich-database.sql
# 4. Avvia tutti gli altri container
docker compose up -d
Se il server è già stato avviato prima del restore, elimina la cartella
DB_DATA_LOCATIONper azzerare il database prima di procedere.
Permessi e proprietario dei file
Se hai ripristinato file direttamente sul filesystem, controlla che il proprietario sia corretto:
# Trova l'UID usato da Immich (di default 1000)
docker exec immich_server id
# Correggi il proprietario nella cartella upload
sudo chown -R 1000:1000 /percorso/UPLOAD_LOCATION
No comments to display
No comments to display