Pastikan di komputer atau VPS sudah terinstall docker dan docker-compose, instalasi docker dan docker compose sebelumnya pernah di post di sini.
Nextcloud fungsinya sama dengan Google Drive, iCloud, One Drive, Dropbox, Box, PCloud dan layanan sejenisnya. File-file yang kita simpan bisa diakses dan di share dari mana saja selama ada koneksi internet, bedanya tentu saja lokasi instalasinya, karena Nextcloud kita install di server kita sendiri, kapasitasnya pun tidak dibatasi (tergantung besarnya storage kita).
INSTALASI
Buat dua buah file docker-compose.yaml dan .env
#namafile: docker-compose.yaml
version: "3.9"
networks:
default:
driver: bridge
adrx_proxy:
name: adrx_proxy
driver: bridge
ipam:
config:
- subnet: 192.168.0.0/24
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- db:/var/lib/mysql
networks:
- adrx_proxy
environment:
- MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
- MYSQL_PASSWORD=$MYSQL_PASSWORD
- MYSQL_DATABASE=$MYSQL_DATABASE
- MYSQL_USER=$MYSQL_USER
redis:
image: redis
restart: always
command: redis-server --requirepass $REDISPASS
networks:
- adrx_proxy
app:
image: nextcloud
restart: always
links:
- db
- redis
networks:
- adrx_proxy
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=$MYSQL_PASSWORD
- MYSQL_DATABASE=$MYSQL_DATABASE
- MYSQL_USER=$MYSQL_USER
- MYSQL_HOST=db
- REDIS_HOST_PASSWORD=$REDISPASS
- OVERWRITECLIURL=cloud.$DOMAINNAME
#karena nextcloud berada di belakang proxy, OVERWRITEPROTOCOL=https
- OVERWRITEPROTOCOL=https
depends_on:
- db
- redis
#begin traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.cloud-rtr.entrypoints=https"
- "traefik.http.routers.cloud-rtr.rule=Host(`cloud.$DOMAINNAME`)"
- "traefik.http.routers.cloud-rtr.service=cloud-svc"
- "traefik.http.services.cloud-svc.loadbalancer.server.port=80"
#end traefik
#jika tdk pakai traefik silahkan comment traefik label diatas
#karena pakai traefik, kita tidak expose port kontainer
#biarkan traefik yang handel
#jika tdk pakai traefik silahkan uncomment line berikut
#ports:
# - 8080:80
volumes:
nextcloud:
db:
#namafile: .env
MYSQL_ROOT_PASSWORD=password
MYSQL_PASSWORD=password
MYSQL_DATABASE=namadb
MYSQL_USER=namauser
DOMAINNAME=andraelang.com
REDISPASS=passwordredis
Tambahkan A record di DNS control panel (saya menggunakan Cloudflare)
Jalankan perintah docker-compose up -d
Saya menggunakan Traefik sebagai reverse proxy yang sudah terinstall sebelumnya (kapan-kapan akan saya post tutorialnya), kita cek apakah ada error
Ternyata aman….
Setelah selesai, buka laman subdomain.namadomain.tld sesuai file docker compose, dalam case saya URL nya cloud.andraelang.com, buat admin account lalu klik install
Jika ingin menginstall recommended apps, klik install recommended apps, jika tidak klik cancel…tunggu proses instalasi selesai
Jika tidak ada kesalahan, kita akan masuk ke dashboard
AKSES VIA MOBILE
Download dan install aplikasi Nextcloud dari Play Store