Table of Contents

Immich - ghid de inițiere

Immich este o platformă de administrare a fotografiilor și videoclipurilor găzduită de dumneavoastră – o alternativă la Google Photos axată pe confidențialitate. Oferă backup automat de pe dispozitive mobile, recunoaștere facială, căutare inteligentă și albume partajate. Totul rulează pe serverul dumneavoastră prin Docker Compose, oferindu-vă control complet asupra datelor.


Pasul 1 – Verificați funcționarea Immich

Adresa IP și parola root a serverului sunt afișate pe pagina Server Details din panoul clientului. Immich rulează deja după pornirea serverului. Deschideți browserul și accesați:

http://your.server.ip:2283

Ar trebui să vedeți pagina de înregistrare Immich. Dacă pagina nu se încarcă, așteptați 1-2 minute pentru pornirea tuturor containerelor.

La primul acces, completați formularul pentru a crea contul de administrator:

  • Email – adresa dumneavoastră de e-mail (folosită la autentificare)
  • Password – alegeți o parolă puternică
  • First Name și Last Name

Faceți clic pe Sign Up pentru a crea contul. După înregistrare, pagina de înregistrare este dezactivată – doar administratorul poate crea utilizatori suplimentari din panoul Administration.

Dacă ați plasat serverul în spatele unui router VyOS într-o rețea privată, conectați-vă prin VPN și accesați Immich pe IP-ul privat al serverului (recomandat pentru un serviciu personal) sau configurați redirecționarea porturilor (portul 22 pentru SSH, portul 2283 pentru interfața web Immich, porturile 80/443 dacă configurați un domeniu cu SSL).


Pasul 2 – Instalarea aplicației mobile (opțional)

Immich are aplicații mobile pentru backup automat al fotografiilor și videoclipurilor:

  • iOS – descărcați Immich din App Store
  • Android – descărcați Immich din Google Play sau F-Droid

În aplicație, introduceți URL-ul serverului și autentificați-vă cu contul creat:

http://your.server.ip:2283

Activați Background Backup în setările aplicației pentru a încărca automat fotografiile și videoclipurile noi.


Pasul 3 – Configurarea domeniului și SSL (opțional)

Pentru a accesa Immich prin domeniul propriu cu HTTPS:

  1. Creați o înregistrare A în setările DNS care direcționează domeniul către IP-ul serverului
  2. Așteptați propagarea DNS (de obicei câteva minute)
  3. Conectați-vă prin SSH și configurați Nginx ca proxy invers cu un certificat Let’s Encrypt:
ssh root@your.server.ip
apt update && apt install -y nginx certbot python3-certbot-nginx

cat > /etc/nginx/sites-available/immich << 'EOF'
server {
    listen 80;
    server_name your-domain.com;
    client_max_body_size 50000M;

    location / {
        proxy_pass http://127.0.0.1:2283;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}
EOF

ln -s /etc/nginx/sites-available/immich /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx

certbot --nginx -d your-domain.com

Înlocuiți your-domain.com cu domeniul dumneavoastră real. Certbot va configura SSL și reînnoirea automată. Directiva client_max_body_size permite încărcarea fișierelor video mari. După configurare, actualizați URL-ul serverului în aplicația mobilă la https://your-domain.com.


După instalare

Fail2Ban – protecție împotriva atacurilor brute-force

Serverul dumneavoastră include Fail2Ban preconfigurat pentru a proteja SSH împotriva atacurilor brute-force.

Regulă Încercări maxime Durata blocării
SSH5 autentificări eșuate10 minute

Comenzi utile:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

Dacă vă blocați accidental, conectați-vă prin consola VNC din panoul clientului și deblocați-vă IP-ul.

Administrarea stocării

Fotografiile și videoclipurile sunt stocate în /opt/immich/upload/. O fotografie obișnuită de telefon are 3-5 MB; videoclipurile sunt mult mai mari. Immich generează și miniaturi și embedding-uri ML (~20% în plus). Pentru a verifica utilizarea discului:

df -h /
du -sh /opt/immich/upload/

Administrarea serviciilor

Immich rulează ca serviciu systemd prin Docker Compose:

# Check container status
cd /opt/immich && docker compose ps

# View logs
cd /opt/immich && docker compose logs -f

# Restart Immich
systemctl restart immich

Actualizări

Pentru a actualiza Immich la cea mai recentă versiune:

cd /opt/immich
curl -fsSL https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml -o docker-compose.yml
docker compose pull
docker compose down && docker compose up -d

Verificați întotdeauna notele de lansare înainte de actualizare, pentru eventuale modificări incompatibile.

Backup-uri

Faceți backup pentru două lucruri: folderul de încărcări și baza de date:

# Database backup
docker exec -t immich_postgres pg_dumpall -c -U postgres > /opt/immich/db_backup.sql

# Database restore (if needed)
cat /opt/immich/db_backup.sql | docker exec -i immich_postgres psql -U postgres

Software inclus

Componentă Versiune
Ubuntu24.04 LTS
DockerCea mai recentă
ImmichCea mai recentă
PostgreSQL14 (Docker)
Valkey (Redis)9 (Docker)
Fail2Ban1.0

Depanare

Problemă Soluție
Interfața web nu se încarcă după prima pornire Așteptați 1-2 minute pentru pornirea containerelor. Verificați: cd /opt/immich && docker compose ps
Containerele se repornesc continuu Verificarea logurilor: cd /opt/immich && docker compose logs --tail 50. Verificați că aveți cel puțin 4 GB RAM
Aplicația mobilă nu se poate conecta Verificați că URL-ul serverului include portul: http://your.server.ip:2283
Spațiu insuficient pe disc Curățați cache-ul Docker: docker system prune -a. Luați în considerare mărirea discului din panoul clientului
Blocat de Fail2Ban Deblocați-vă IP-ul prin consola VNC din panoul clientului
Ați uitat parola root Resetați-o prin consola VNC din panoul clientului