
Pendahuluan
Dalam era digital seperti saat ini, penyimpanan foto dan video menjadi kebutuhan yang tak terelakkan. Banyak orang menggunakan layanan seperti Google Photos atau iCloud untuk menyimpan kenangan mereka secara online. Namun, sebagian pengguna memilih solusi self-hosted demi menjaga privasi dan mengontrol penuh data pribadi mereka.
Salah satu solusi terbaik untuk itu adalah Immich, platform self-hosted photo and video management yang dibangun dengan teknologi modern seperti NestJS, PostgreSQL, dan Docker. Immich memungkinkan kamu menyimpan, menelusuri, serta membagikan foto dan video di server pribadi tanpa bergantung pada layanan pihak ketiga.
Pada artikel ini, kita akan membahas cara instalasi Immich di Debian 12 dengan MariaDB sebagai database utama. Meskipun Immich secara default menggunakan PostgreSQL, kita akan melakukan sedikit penyesuaian agar dapat berjalan menggunakan MariaDB — cocok bagi pengguna yang sudah memiliki infrastruktur berbasis MariaDB.
Persiapan Awal Sistem
Sebelum memulai, pastikan kamu menggunakan server Debian 12 yang bersih dan memiliki hak akses root atau sudo.
1. Update Sistem
sudo apt update && sudo apt upgrade -y
2. Install Dependensi
Beberapa paket dasar dibutuhkan untuk menjalankan Docker dan MariaDB.
sudo apt install curl gnupg ca-certificates lsb-release -y
Instalasi Docker dan Docker Compose
Immich berjalan menggunakan Docker untuk mengelola berbagai komponennya (backend, frontend, dan worker).
1. Tambahkan Repositori Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Tambahkan sumber repositori resmi Docker:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2. Instalasi Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
3. Verifikasi
Pastikan Docker sudah aktif:
sudo systemctl enable --now docker
docker --version
Instalasi dan Konfigurasi MariaDB
Immich menyimpan metadata (seperti nama file, path, user, dan tag) di database. Di sini kita akan gunakan MariaDB.
1. Install MariaDB Server
sudo apt install mariadb-server mariadb-client -y
2. Amankan Instalasi
sudo mysql_secure_installation
Ikuti instruksi untuk menghapus pengguna anonim, menonaktifkan login remote root, dan menghapus database test.
3. Buat Database Immich
Masuk ke MariaDB:
sudo mysql -u root -p
Lalu jalankan:
CREATE DATABASE immich CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'immichuser'@'localhost' IDENTIFIED BY 'passwordku';
GRANT ALL PRIVILEGES ON immich.* TO 'immichuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Ganti
passwordkudengan password kuat pilihanmu.
Menyiapkan Immich
Secara resmi, Immich menggunakan PostgreSQL. Namun, untuk pengguna MariaDB, kita akan sedikit menyesuaikan environment variable agar koneksi database tetap berfungsi.
1. Clone Repository Immich
Kita ambil kode sumber dari GitHub resmi Immich:
cd /opt
sudo git clone https://github.com/immich-app/immich.git
cd immich
2. Buat File Konfigurasi
Edit file .env:
nano .env
Ubah atau tambahkan baris berikut:
DB_HOST=mariadb
DB_PORT=3306
DB_USERNAME=immichuser
DB_PASSWORD=passwordku
DB_DATABASE_NAME=immich
UPLOAD_LOCATION=/usr/src/app/upload
IMMICH_LOG_LEVEL=log
Membuat File Docker Compose
Immich terdiri dari beberapa service utama:
- immich-server → backend utama
- immich-web → antarmuka web
- immich-microservices → proses thumbnail & indexing
- immich-machine-learning → AI tagging
- mariadb → database
Buat file docker-compose.yml di direktori /opt/immich:
nano docker-compose.yml
Isi dengan :
version: '3.8'
services:
mariadb:
image: mariadb:10.11
container_name: immich-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: immich
MYSQL_USER: immichuser
MYSQL_PASSWORD: passwordku
volumes:
- ./db:/var/lib/mysql
immich-server:
image: ghcr.io/immich-app/immich-server:release
container_name: immich-server
depends_on:
- mariadb
environment:
DB_HOST: mariadb
DB_PORT: 3306
DB_USERNAME: immichuser
DB_PASSWORD: passwordku
DB_DATABASE_NAME: immich
volumes:
- ./upload:/usr/src/app/upload
ports:
- "2283:2283"
restart: unless-stopped
immich-web:
image: ghcr.io/immich-app/immich-web:release
container_name: immich-web
depends_on:
- immich-server
ports:
- "80:3000"
restart: unless-stopped
immich-microservices:
image: ghcr.io/immich-app/immich-microservices:release
container_name: immich-micro
depends_on:
- immich-server
environment:
DB_HOST: mariadb
DB_PORT: 3306
DB_USERNAME: immichuser
DB_PASSWORD: passwordku
DB_DATABASE_NAME: immich
restart: unless-stopped
Jika kamu ingin mengaktifkan machine learning (AI tagging), tambahkan service immich-machine-learning ke file di atas.
Menjalankan Immich
Setelah semua siap, jalankan perintah:
docker compose up -d
Periksa status container:
docker ps
Jika semua container (immich-server, immich-web, immich-db, immich-microservices) aktif, maka instalasi berhasil.
Akses Immich Web
Buka browser dan akses:
http://IP-server-anda
Kamu akan melihat halaman awal Immich.
Daftarkan akun baru (sebagai admin pertama) dan login untuk mulai menggunakan aplikasi.
Setelah itu, kamu bisa mengunggah foto, membuat album, serta membagikannya ke pengguna lain.
Tips Tambahan
- SSL/HTTPS:
Gunakan reverse proxy seperti Nginx Proxy Manager agar Immich dapat diakses menggunakan domain dan SSL dari Let’s Encrypt. - Backup Data:
Backup folderuploaddan direktoridbsecara rutin. - Monitoring:
Gunakandocker logs -f immich-serveruntuk memantau aktivitas server. - Update Container:
Untuk memperbarui Immich, jalankan:
docker compose pull
docker compose up -d
Kesimpulan
Dengan mengikuti langkah-langkah di atas, kamu telah berhasil menginstal Immich di Debian 12 menggunakan MariaDB sebagai database.
Immich memberikan pengalaman seperti Google Photos tetapi berjalan sepenuhnya di server pribadi. Menggunakan MariaDB membuatnya lebih fleksibel untuk lingkungan yang sudah mengandalkan database MySQL/MariaDB.
Meskipun Immich secara resmi merekomendasikan PostgreSQL, MariaDB tetap dapat digunakan dengan beberapa penyesuaian konfigurasi seperti di atas. Kombinasi Docker dan MariaDB menjadikan sistem ini modular, mudah dipelihara, dan aman.
Kata Penutup
Immich adalah solusi masa depan bagi pengguna yang mengutamakan privasi dan kontrol data.
Dengan antarmuka modern, performa cepat, serta kemampuan self-hosted, Immich memberikan kebebasan penuh untuk mengelola foto dan video tanpa batas.
Kini kamu tidak perlu lagi bergantung pada layanan penyimpanan komersial — cukup gunakan server Debian milikmu, pasang Immich, dan nikmati pengalaman galeri pribadi yang tangguh dan elegan.