photo 2023 01 15 11 40 45

Cara Install Nextcloud dengan Docker di Linux

Komputer lamamu bisa digunakan sebagai cloud storage menggunakan Nextcloud. Hari ini kita praktik cara install Nextcloud dengan Docker di Linux

Apa itu Nextcloud?

Nextcloud adalah program yang memungkinkan kamu membuat cloud storage di server kamu.

Nextcloud semacam Google Drive dan Dropbox, tetapi Open Source. Yup, Nextcloud dapat diunduh gratis yang didistribusikan di bawah lisensi AGPLv3.

photo 2023 01 15 11 01 31
Tampilan Nextcloud milik saya.

Saya memasang Nextcloud di Intel NUC bertenaga Intel Atom dan RAM 4 GB. Selain Nextcloud, ada juga WordPress, Syncthing, dan Pihole yang berjalan. Nextcloud masih bisa digunakan, meskipun agak lambat.

Install Nextcloud dengan Docker

Docker memudahkan kita untuk memasang sesuatu. Saya akui saya telat menggunakannya. Begitu juga dengan instalasi Nextcloud yang lebih mudah dengan Docker.

Jika kamu pengguna Alpine Linux dan belum memasang Docker, kamu bisa membaca artikel “Cara Install Docker di Alpine Linux“.

Pertama buat berkas “.env” dengan aplikasi text editor favoritmu.

$ vim .env
TZ=Asia/Jakarta PUID=1000 PGID=1000 MYSQL_DATABASE=nextcloud MYSQL_USER=nextcloud MYSQL_PASSWORD=nextcloud

Lalu buat berkas “msmtpd.env

$ vim msmtpd.env
SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_TLS=on SMTP_STARTTLS=on SMTP_TLS_CHECKCERT=on SMTP_AUTH=on SMTP_USER=foo SMTP_PASSWORD=bar [email protected]

Buat berkas baru bernama “nextcloud.env

$ vim nextcloud.env
MEMORY_LIMIT=512M UPLOAD_MAX_SIZE=512M OPCACHE_MEM_SIZE=128 APC_SHM_SIZE=128M REAL_IP_FROM=0.0.0.0/32 REAL_IP_HEADER=X-Forwarded-For LOG_IP_VAR=remote_addr HSTS_HEADER=max-age=15768000; includeSubDomains RP_HEADER=strict-origin SUBDIR=

Terakhir, buat berkas docker-compose.yml yang berisi konfigurasi Docker Nextcloud. Pastikan kamu sudah memasang Docker Compose.

$ vim docker-compose.yml
version: "3.2" services: db: image: mariadb:10.5 container_name: nextcloud_db volumes: - "db:/var/lib/mysql" environment: - "MYSQL_ALLOW_EMPTY_PASSWORD=yes" - "MYSQL_DATABASE" - "MYSQL_USER" - "MYSQL_PASSWORD" restart: always redis: image: redis:6-alpine container_name: nextcloud_redis environment: - "TZ" restart: always msmtpd: image: crazymax/msmtpd:latest container_name: nextcloud_msmtpd env_file: - "./msmtpd.env" environment: - "TZ" restart: always nextcloud: image: crazymax/nextcloud:latest container_name: nextcloud depends_on: - db - redis - msmtpd ports: - target: 8000 published: 8000 protocol: tcp volumes: - "nextcloud:/data" env_file: - "./nextcloud.env" environment: - "TZ" - "PUID" - "PGID" - "DB_TYPE=mysql" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" restart: always cron: image: crazymax/nextcloud:latest container_name: nextcloud_cron depends_on: - nextcloud volumes: - "nextcloud:/data" env_file: - "./nextcloud.env" environment: - "TZ" - "PUID" - "PGID" - "DB_TYPE=mysql" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "SIDECAR_CRON=1" - "CRON_PERIOD=*/5 * * * *" restart: always previewgen: image: crazymax/nextcloud:latest container_name: nextcloud_previewgen depends_on: - nextcloud volumes: - "nextcloud:/data" env_file: - "./nextcloud.env" environment: - "TZ" - "PUID" - "PGID" - "DB_TYPE=mysql" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "SIDECAR_PREVIEWGEN=1" - "PREVIEWGEN_PERIOD=0 * * * *" restart: always news_updater: image: crazymax/nextcloud:latest container_name: nextcloud_news_updater depends_on: - nextcloud volumes: - "nextcloud:/data" env_file: - "./nextcloud.env" environment: - "TZ" - "PUID" - "PGID" - "DB_TYPE=mysql" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "SIDECAR_NEWSUPDATER=1" - "NC_NEWSUPDATER_THREADS=10" - "NC_NEWSUPDATER_TIMEOUT=300" - "NC_NEWSUPDATER_INTERVAL=900" - "NC_NEWSUPDATER_LOGLEVEL=error" restart: always volumes: db: nextcloud:
Code language: JavaScript (javascript)

Setelah itu jalankan docker-compose. Nextcloud akan berjalan di port 8000.

$ docker-compose up -d

Selamat, kamu berhasil install Nextcloud dengan Docker di Linux.

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: