Self-Hosting Series | 13 Feb 2026

Instal Nextcloud Pakai Docker Compose: Cloud Pribadi, Kendali Penuh! ☁️

Cloud Data Security

Apa Itu Nextcloud?

Singkatnya, Nextcloud adalah alternatif untuk Google Drive, Dropbox, atau OneDrive. Bedanya, kalau layanan-layanan itu menyimpan datamu di server mereka, Nextcloud menyimpan data di server milikmu sendiri.

Fiturnya lengkap: bisa menyimpan file, foto, kalender, kontak, sampai kolaborasi dokumen. Dengan bantuan Docker Compose, kita akan menjalankan dua layanan utama sekaligus: aplikasi Nextcloud dan database MariaDB untuk menyimpan konfigurasi serta data pendukungnya.

Kenapa Pakai Docker Compose?

Docker Compose membuat instalasi jauh lebih rapi karena semua layanan ditulis dalam satu file konfigurasi. Kita tidak perlu memasang Nextcloud dan database satu per satu secara manual. Cukup siapkan file docker-compose.yml, jalankan satu perintah, lalu Nextcloud dan MariaDB akan dibuat sebagai container yang saling terhubung.

Persiapan Sebelum Mulai

Tutorial ini cocok dijalankan di server Debian yang sudah memiliki Docker dan Docker Compose. Jalankan semua perintah lewat terminal lokal atau SSH. Pastikan juga direktori yang dipakai punya ruang penyimpanan cukup karena file Nextcloud dan database akan disimpan di sana.

Cara Instal Nextcloud dengan Docker Compose

Ikuti langkah-langkah berikut secara berurutan.

1. Buat Folder Project

Kita buat direktori khusus untuk menyimpan konfigurasi, database, dan data Nextcloud:

mkdir ~/nextcloud-server && cd ~/nextcloud-server

2. Buat File docker-compose.yml

Buat file konfigurasi Docker Compose menggunakan editor teks. Contoh berikut memakai nano:

nano docker-compose.yml

Lalu isi file tersebut dengan konfigurasi berikut:

services:
 db:
 image: mariadb:10.6
 restart: always
 command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
 volumes:
 - ./db:/var/lib/mysql
 environment:
 - MYSQL_ROOT_PASSWORD=ganti_password_root_kamu
 - MYSQL_PASSWORD=ganti_password_user_kamu
 - MYSQL_DATABASE=nextcloud
 - MYSQL_USER=nextcloud
 app:
 image: nextcloud
 restart: always
 ports:
 - 8080:80
 depends_on:
 - db
 volumes:
 - ./data:/var/www/html
 environment:
 - MYSQL_PASSWORD=ganti_password_user_kamu
 - MYSQL_DATABASE=nextcloud
 - MYSQL_USER=nextcloud
 - MYSQL_HOST=db

Ganti bagian ganti_password_root_kamu dan ganti_password_user_kamu dengan password yang kuat. Jangan gunakan contoh password di atas untuk server sungguhan.

3. Jalankan Container

Setelah file tersimpan, jalankan Nextcloud dan MariaDB dengan perintah berikut:

docker compose up -d

Docker akan mengunduh image yang dibutuhkan, membuat container, lalu menjalankannya di background.

4. Cek Status Container

Pastikan container Nextcloud dan MariaDB berjalan normal:

docker compose ps

Jika ingin melihat log proses instalasi atau mengecek error, gunakan:

docker compose logs -f

5. Akses Lewat Browser

Buka browser, lalu akses alamat IP server dengan port 8080:

http://alamat-ip-servermu:8080

Setelah halaman setup Nextcloud tampil, buat akun admin. Pada bagian database, gunakan MariaDB/MySQL dengan detail berikut:

User database : nextcloud
Password database : ganti_password_user_kamu
Nama database : nextcloud
Host database : db

Setelah setup selesai, Nextcloud sudah bisa digunakan sebagai cloud pribadi untuk menyimpan dan mengelola file.

Penting: Folder data dan db di direktori project adalah tempat data Nextcloud dan database disimpan. Jangan hapus folder tersebut jika tidak ingin kehilangan data.

Perintah Tambahan yang Berguna

Mematikan Container

docker compose down

Menjalankan Lagi Container

docker compose up -d

Update Image Nextcloud

docker compose pull
docker compose up -d

Backup Folder Project

tar -czvf nextcloud-server-backup.tar.gz ~/nextcloud-server

Kesimpulan

Dengan Docker Compose, proses instalasi Nextcloud jadi lebih ringkas dan mudah dirawat. Semua komponen penting berada dalam satu folder project, mulai dari konfigurasi, database, sampai file aplikasi.

Sekarang kamu sudah punya cloud pribadi yang berjalan di server sendiri. Data lebih terkendali, konfigurasi lebih rapi, dan proses pemeliharaannya lebih mudah dibanding instalasi manual.