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 ☁️💪

Share:

0 comments:

Post a Comment