Nextcloud memberi Anda sinkronisasi file, kalender, kontak, dan pengeditan dokumen di server yang Anda kendalikan, alih-alih menyerahkan file Anda kepada penyedia cloud besar. Berikut cara menjalankannya di VPS dengan Docker Compose.
Sebelum memulai
- VPS dengan 2 vCPU dan RAM 4 GB adalah awal yang nyaman. Penyimpanan adalah kendala utama, jadi pilih ukuran disk yang sesuai dengan file Anda.
- Domain yang mengarah ke server, dibahas di panduan DNS kami.
- Docker terpasang, lihat pasang Docker di Ubuntu.
1. File Compose
mkdir -p ~/nextcloud && cd ~/nextcloud
cat > compose.yaml <<'EOF'
services:
db:
image: mariadb:11
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
environment:
MYSQL_ROOT_PASSWORD: change-me-root
MYSQL_PASSWORD: change-me-db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
volumes:
- db:/var/lib/mysql
redis:
image: redis:7-alpine
restart: unless-stopped
app:
image: nextcloud:stable
restart: unless-stopped
depends_on: [db, redis]
ports:
- "127.0.0.1:8080:80"
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: change-me-db
REDIS_HOST: redis
volumes:
- nc:/var/www/html
volumes:
db:
nc:
EOF
docker compose up -d
Ganti ketiga kata sandi sebelum menjalankannya. Gunakan string acak yang panjang.
2. Pasang HTTPS di depan
Tambahkan blok server Nginx yang memproksi ke 127.0.0.1:8080, lalu jalankan Certbot seperti di panduan Nginx kami. Blok proksi membutuhkan baris-baris ini agar Nextcloud melihat protokol yang benar dan unggahan besar berfungsi:
client_max_body_size 2G;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
3. Selesaikan pengaturan
Buka domain Anda dan buat akun admin. Lalu tambahkan domain Anda ke daftar tepercaya dan atur detail proksi:
docker compose exec -u www-data app php occ config:system:set trusted_domains 1 --value=cloud.example.com
docker compose exec -u www-data app php occ config:system:set overwriteprotocol --value=https
4. Jaga tetap sehat
- Pembaruan:
docker compose pull && docker compose up -d, satu versi mayor pada satu waktu. - Tugas latar belakang: beralih ke Cron di pengaturan admin dan tambahkan entri cron host yang menjalankan
cron.phpsetiap lima menit. - Backup: simpan kedua volume dan dump database. Lihat cara backup VPS.
- Login dua faktor: aktifkan aplikasi TOTP untuk setiap akun.