Showing posts with label nextcloud. Show all posts
Showing posts with label nextcloud. Show all posts

Friday, 27 March 2026

Pindahkan Nextcloud ke HDD (/mnt/seagate atau /mnt/audio).

 

Sekarang terlihat jelas struktur /var/www/html.

Isi /var/www/html

apps      492M
moodle    411M
core      189M
dist       74M
3rdparty   48M
lib        18M

Struktur ini sebenarnya bukan Moodle / WordPress, tapi Nextcloud (karena ada folder apps, core, updater, ocs, dll).

Jadi kesimpulannya:

FolderUkuran
/var/www/nextcloud822M
/var/www/html (Nextcloud web)1.3G
Moodlekemungkinan di tempat lain
Root kecil6.5G

👉 Nextcloud yang memenuhi root storage.


Penyebab utama root penuh

Total Nextcloud:

Nextcloud web      1.3G
Nextcloud folder   822M
TOTAL              ~2.1G

Untuk root 6.5GB → ini sangat besar.


Solusi terbaik (WAJIB kalau pakai STB / eMMC kecil)

Pindahkan Nextcloud ke HDD (/mnt/seagate atau /mnt/audio).

Ini solusi paling benar, bukan menghapus.


Cara pindahkan Nextcloud ke HDD

Misalnya pindah ke /mnt/seagate/nextcloud

1. Stop nginx & php

systemctl stop nginx
systemctl stop php8.2-fpm

2. Pindahkan folder

mv /var/www/html /mnt/seagate/nextcloud

3. Buat symlink

ln -s /mnt/seagate/nextcloud /var/www/html

4. Start lagi

systemctl start php8.2-fpm
systemctl start nginx

Setelah itu cek storage

df -h

Root harus turun dari:

83% → sekitar 50%

Struktur server yang ideal untuk server kecil seperti ini

Sebaiknya:

LokasiIsi
/ (root kecil)OS + nginx + php + mysql
/var/lib/mysqldatabase
/mnt/seagatemoodledata
/mnt/seagatenextcloud
/mnt/seagatebackup
/mnt/audiomusic navidrome
/var/wwwhanya symlink

Kesimpulan penting

Masalah server Guru bukan HDD penuh, tapi:

Root kecil (6.5GB) terisi Nextcloud + web files

Solusi permanen:

  • Pindahkan Nextcloud

  • Pindahkan moodledata

  • Simpan semua data di /mnt


Kalau Guru mau, kita bisa rapikan struktur server supaya:

  • Moodle

  • Nextcloud

  • Navidrome

  • Backup

  • Database

Semua aman dan root tidak pernah penuh lagi.

Saturday, 7 March 2026

Copy folder di ubuntu ke server nextcloud debian dengan ssh

 

Guru Duan, karena foldernya ada di laptop Ubuntu dan ingin dikirim ke server Debian lewat SSH, cara paling tepat adalah menggunakan rsync via SSH.

Ini metode yang paling sering dipakai admin karena cepat dan bisa lanjut jika putus.


1️⃣ Jalankan dari Laptop Ubuntu (bukan dari server)

Karena sumber file ada di laptop, perintah dijalankan di terminal laptop Ubuntu.

Misalnya IP server Debian:

192.168.1.10

Perintahnya:

rsync -avh --progress "/media/dhwan/DATA1/Al-Qur_an Al-Karim - Sheikh Mishary Rashid Alafasy" root@192.168.1.10:/srv/nextcloud/data/admin/files/

Penjelasan:

bagianarti
rsynctool copy cepat
-amenjaga struktur file
-vtampilkan detail
-hukuran mudah dibaca
--progresstampil progress
root@192.168.1.10login SSH server
tujuanfolder Nextcloud

2️⃣ Jika Login Bukan Root

Misalnya user server duan:

rsync -avh --progress "/media/dhwan/DATA1/Al-Qur_an Al-Karim - Sheikh Mishary Rashid Alafasy" duan@192.168.1.10:/srv/nextcloud/data/admin/files/

3️⃣ Setelah Copy Selesai (di Server)

Login ke server Debian lalu jalankan:

docker exec -u www-data nextcloud_app php occ files:scan admin

Agar file muncul di Nextcloud.


4️⃣ Jika Folder Sangat Besar (lebih stabil)

Gunakan port SSH eksplisit:

rsync -avh --progress -e ssh "/media/dhwan/DATA1/Al-Qur_an Al-Karim - Sheikh Mishary Rashid Alafasy" root@192.168.1.10:/srv/nextcloud/data/admin/files/

5️⃣ Hasilnya di Nextcloud

Folder akan muncul:

Al-Qur_an Al-Karim - Sheikh Mishary Rashid Alafasy

di akun admin.


 

 

 

💡Copy semua folder ini

/media/dhwan/DATA1$ ls
'Al-Quran Al-Karim - MAHER AL-MUAIQLY'  
'Al-Quran Al-Karim - Muzammil Hasballah'
'Al-Quran Al-Karim - Shaykh Abdul Basit'
'Al-Quran Al-Karim - Shaykh Abdulrahman Al-Sudais'           
'Muzammil Hasballah-20211004T012609Z-001'
'Al-Quran Al-Karim - Shaykh Al-Husary'   
'Al-Quran Al-Karim - Shaykh Sa_ad Al-Ghamdi'
'Al-Quran Al-Karim - Sherif Mustofa'     

upload semua dalam DATA1
rsync -avh --progress --partial --append-verify -e ssh /media/dhwan/DATA1/ root@192.168.200.20:/srv/nextcloud/data/admin/files/Quran/


Karena semua folder Qur'an memiliki nama "Al-Quran...", kita bisa kirim hanya folder tersebut.
rsync -avh --progress --partial --append-verify -e ssh /media/dhwan/DATA1/Al-Quran* root@192.168.200.20:/srv/nextcloud/data/admin/files/Quran/ 

 

Guru Duan, dari tangkapan layar itu terlihat perintah rsync berjalan dengan benar 👍

Beberapa hal yang bisa kita lihat:

  • Transfer sedang mengirim file .flac

  • Kecepatan sekitar 18–29 MB/s

  • Sudah sampai file Disc 16

  • Total file sekitar 1549 file

Contoh baris:

Disc 16/09 Assaff Chapter 61.flac
4.69M 18% 4.47MB/s

artinya file tersebut sedang dikirim.


Apa yang Sedang Terjadi

Perintah Guru:

rsync -avh --progress --partial --append-verify -e ssh /media/dhwan/DATA1/Al-Quran* root@192.168.200.20:/srv/nextcloud/data/admin/files/Quran/

melakukan:

  1. memilih semua folder yang diawali Al-Quran

  2. mengirim ke server

  3. menampilkan progress

  4. bisa resume jika putus

Jadi prosesnya sudah benar.


Jika Transfer Terputus

Tinggal jalankan lagi perintah yang sama:

rsync -avh --progress --partial --append-verify -e ssh /media/dhwan/DATA1/Al-Quran* root@192.168.200.20:/srv/nextcloud/data/admin/files/Quran/

rsync akan:

  • melewati file yang sudah selesai

  • melanjutkan file yang belum selesai


Setelah Semua Folder Selesai

Masuk ke server Debian lalu jalankan:

docker exec -u www-data nextcloud_app php occ files:scan admin

Ini supaya Nextcloud mendeteksi file baru.


Hasil di Nextcloud

Nanti akan muncul:

Files
└── Quran
     ├── Al-Quran Al-Karim - MAHER AL-MUAIQLY
     ├── Al-Quran Al-Karim - Muzammil Hasballah
     ├── Al-Quran Al-Karim - Shaykh Abdul Basit
     ├── Al-Quran Al-Karim - Shaykh Abdulrahman Al-Sudais
     ├── Al-Quran Al-Karim - Shaykh Al-Husary
     ├── Al-Quran Al-Karim - Shaykh Sa_ad Al-Ghamdi
     └── Al-Quran Al-Karim - Sherif Mustofa

💡 Sedikit kabar baik untuk Guru Duan:
Kecepatan 20–30 MB/s berarti jaringan LAN gigabit berjalan optimal, jadi seluruh koleksi Qur'an kemungkinan selesai dalam beberapa menit saja walaupun ukuran besar.



 

Thursday, 8 January 2026

Pasang Nextcloud di Debian SiM Server

 

Siap Guru Duan 👍
Kita pasang Nextcloud dengan prinsip yang sama seperti Immich: aman, terpisah, tidak mengganggu Moodle & WordPress, dan data besar di /dev/sdb.

Saya buat langkah rapi & bertahap. Fokus dulu install lokal sampai bisa dibuka, belum Cloudflared dulu.


🟦 RENCANA NEXTCLOUD (AMAN & TERPISAH)

Arsitektur

  • Docker sendiri (tidak campur Immich)

  • Port lokal: 8081

  • Data user: /srv/nextcloud/data/dev/sdb

  • Database: MariaDB khusus Nextcloud (container)/dev/sda

  • Tidak sentuh:

    • Nginx host

    • MariaDB Moodle

    • WordPress


🔹 LANGKAH 1 — Siapkan Folder Nextcloud

sudo mkdir -p /opt/docker/nextcloud
sudo mkdir -p /srv/nextcloud/data
sudo chown -R 1000:1000 /srv/nextcloud

Cek:

df -h /srv/nextcloud

Harus terlihat /dev/sdb1.


🔹 LANGKAH 2 — Buat .env Nextcloud

cd /opt/docker/nextcloud
nano .env

Isi (boleh copy):

# ===== Nextcloud =====
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD=adminpasswordku
NEXTCLOUD_TRUSTED_DOMAINS=cloud.sman2kandangan.sch.id localhost

# ===== Database =====
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud
MYSQL_PASSWORD=nextcloudpass
MYSQL_ROOT_PASSWORD=rootpass

# ===== PHP / Upload =====
PHP_UPLOAD_LIMIT=10G

📌 Password bebas, tapi ingat/simpan.


🔹 LANGKAH 3 — Buat docker-compose.yml

nano docker-compose.yml

Isi versi stabil & ringan:

services:
  nextcloud:
    image: nextcloud:28
    container_name: nextcloud_app
    restart: unless-stopped
    ports:
      - "8081:80"
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      NEXTCLOUD_ADMIN_USER: ${NEXTCLOUD_ADMIN_USER}
      NEXTCLOUD_ADMIN_PASSWORD: ${NEXTCLOUD_ADMIN_PASSWORD}
      NEXTCLOUD_TRUSTED_DOMAINS: ${NEXTCLOUD_TRUSTED_DOMAINS}
      PHP_UPLOAD_LIMIT: ${PHP_UPLOAD_LIMIT}
    volumes:
      - /srv/nextcloud/data:/var/www/html/data
      - /opt/docker/nextcloud/html:/var/www/html
    depends_on:
      - db

  db:
    image: mariadb:10.11
    container_name: nextcloud_db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - /opt/docker/nextcloud/db:/var/lib/mysql

📌 MariaDB ini KHUSUS Nextcloud, tidak ada hubungannya dengan moodle-db.


🔹 LANGKAH 4 — Jalankan Nextcloud

docker compose up -d

Tunggu ±1 menit.


🔹 LANGKAH 5 — Cek Status

docker ps

Target:

nextcloud_app   Up
nextcloud_db    Up

🔹 LANGKAH 6 — Tes Lokal

Buka di browser (server/LAN):

http://IP-server:8081

Atau dari server:

curl http://localhost:8081

🎯 Target:

  • Muncul halaman Nextcloud

  • Login pakai admin yang dibuat


🔐 JAMINAN KEAMANAN

✔ Moodle AMAN
✔ WordPress AMAN
✔ MariaDB Moodle TIDAK disentuh
✔ Data Nextcloud masuk /dev/sdb
✔ Nextcloud & Immich tidak saling ganggu


⏭️ LANGKAH SELANJUTNYA

Setelah Nextcloud bisa dibuka lokal, kita lanjut:

LANGKAH 7 — Integrasi Cloudflared

  • cloud.sman2kandangan.sch.idhttp://localhost:8081

  • Tanpa buka port

  • Tanpa ubah Nginx


Balas salah satu:

  • “nextcloud lokal sudah muncul”

  • atau kirim docker ps kalau mau saya cek

Kita lanjutkan sampai cloud sekolah siap dipakai ☁️💪