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) nextcloud Jalankan perintah docker-compose up -d nextcloud Saya menggunakan Traefik sebagai reverse proxy yang sudah terinstall sebelumnya (kapan-kapan akan saya post tutorialnya), kita cek apakah ada error nextcloud nextcloud nextcloud 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 nextcloud Jika ingin menginstall recommended apps, klik install recommended apps, jika tidak klik cancel…tunggu proses instalasi selesai nextcloud Jika tidak ada kesalahan, kita akan masuk ke dashboard nextcloud AKSES VIA MOBILE
Download dan install aplikasi Nextcloud dari Play Store
nextcloud nextcloud