Ringkasan
Kami akan melalui langkah-langkah cara Mengatur Nextcloud dengan Redis menggunakan Docker. Untuk proses ini, kami akan menggunakan Docker compose dan build stack untuk men-deploy container Docker Nextcloud sekaligus dengan MariaDB dan Redis secara bersamaan.
Persyaratan untuk menyiapkan Nextcloud dengan Redis:
– Docker terinstal dan berjalan di server host (Instal Docker)
– Tulis Docker diinstal (Instal Docker Compose)
Apa itu Redis dan mengapa disarankan untuk menerapkannya dengan Nextcloud
Redis adalah server cache objek open source yang dapat digunakan sebagai cache database untuk meningkatkan kinerja database. Secara default Nextcloud tidak memiliki cache database (meskipun dapat dikonfigurasi) dan tanpa cache database, kinerja Nextcloud dapat berkurang (dengan kata lain sangat lambat) tetapi ketika Redis ditambahkan ke dalam permainan, itu dapat secara drastis meningkatkan kinerja Nextcloud. Redis juga memiliki wadah Docker resmi, yang akan kita gunakan dalam file penulisan buruh pelabuhan ini.
Siapkan Nextcloud dengan Redis menggunakan Docker
Di paragraf berikut, konfigurasi penulisan Docker disediakan di sini dan kami akan membahas konfigurasi apa yang dilakukannya:
version: '3' volumes: nextcloud: db: 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 environment: - MYSQL_ROOT_PASSWORD=somerootpassword - MYSQL_PASSWORD=somemysqlpassword - MYSQL_DATABASE=db - MYSQL_USER=mysqluser redis: image: redis restart: always command: redis-server --requirepass someredispassword app: image: nextcloud restart: always ports: - 8080:80 links: - db - redis volumes: - nextcloud:/var/www/html environment: - MYSQL_PASSWORD=somemysqlpassword - MYSQL_DATABASE=db - MYSQL_USER=mysqluser - MYSQL_HOST=db - REDIS_HOST_PASSWORD=someredispassword depends_on: - db - redis
Pendekatan yang kami gunakan untuk men-deploy container adalah bahwa kami menetapkan setiap container sebagai layanan, dan setiap layanan akan memiliki volume data terpasangnya sendiri di mesin host. Metode ini memungkinkan kita untuk lebih mudah menghubungkan kontainer dan membuatnya sehingga beberapa kontainer bergantung pada yang lain untuk berfungsi dengan baik.
Ikhtisar docker compose file yaml:
- versi:‘3’ // Versi penulisan Docker
- volume:// menentukan kontainer mana yang akan memiliki volume terpasang
- nextcloud:
- db:
- layanan:// mendefinisikan container mana yang merupakan layanan
- db:// layanan basis data untuk nextcloud
- gambar:mariadb // Docker resmi dari server mariadb
- mulai ulang:selalu // argumen untuk me-restart container selalu pada masalah apa pun
- perintah:–transaction-isolation=READ-COMMITTED –binlog-format=ROW –innodb-file-per-table=1 –skip-innodb-read-only-compressed // perintah untuk dijalankan di MariaDB untuk mengkonfigurasi format tabel database. Jika tidak, Anda mungkin mengalami kesalahan penolakan penulisan Inno_DB
- volume:// db:/var/lib/mysql
- lingkungan:// Variabel lingkungan tempat kami menentukan kredensial basis data
- – MYSQL_ROOT_PASSWORD=somerootpassword
- – MYSQL_PASSWORD=somemysqlpassword
- – MYSQL_DATABASE=db
- – MYSQL_USER=mysqluser
- redis:// layanan redis ditentukan
- gambar:redis // Gambar resmi Redis Docker
- mulai ulang:selalu // argumen untuk me-restart container selalu pada masalah apa pun
- perintah:redis-server –requirepass someredispassword // argumen ke pass-through to redis perintah untuk menyetel sandi redis
- aplikasi:// mendefinisikan nextcloud sebagai layanan
- gambar:nextcloud // mendefinisikan gambar buruh pelabuhan nextcloud resmi
- mulai ulang:selalu // argumen untuk me-restart container selalu pada masalah apa pun
- port:– 8080:80 // argumen untuk mengatur port apa yang akan diekspos untuk mengakses Nextcloud
- tautan:– db -redis // mendefinisikan tautan redis dan tautan basis data untuk Nextcloud untuk menggunakan dan menyimpan data (di tautan tersebut kita hanya perlu mengatur nama layanan basis data yang sebelumnya kita tetapkan untuk wadah MariaDB)
- volume:– nextcloud:/var/www/html // variabel lingkungan untuk menyetel volume persisten dan menyimpan data di mesin host
- lingkungan:// Variabel lingkungan tempat kami menentukan kredensial basis data (ini harus cocok dengan kredensial MariaDB dari atas dan memberikan kata sandi redis)
- – MYSQL_PASSWORD=somemysqlpassword
- – MYSQL_DATABASE=db
- – MYSQL_USER=mysqluser
- – MYSQL_HOST=db
- – REDIS_HOST_PASSWORD=someredispassword
- tergantung_pada:// Variabel lingkungan tempat kami menentukan ketergantungan untuk Nextcloud
- – db
- – redis
Menyebarkan file penulisan Docker
Cara menerapkan tumpukan ini:
Melalui terminal dan editor teks, kita akan membuat direktori baru di mana kita akan menyimpan docker-compose-yml dan dalam file itu kita akan menempelkan di konfigurasi yaml kita. Anda dapat melihat pada gambar di bawah bagaimana saya melakukannya:
Catatan – perhatikan lekukan dan pastikan setiap baris berada pada posisi lekukan yang benar.
Setelah kita membuat file docker-compose dan menyimpan perubahan di dalamnya dengan konfigurasi yaml kita, untuk menyebarkan stack, jalankan perintah berikut saat masih berada di direktori tempat file docker-compose kita berada:
docker-compose up -d
Hasil yang berhasil akan terlihat seperti ini:
Anda dapat memeriksa dengan perintah “docker ps -a” jika kontainer ada dan berjalan.
Ketika Anda mengkonfirmasi bahwa penyebaran berhasil, periksa kembali browser Anda jika Anda dapat mengakses Nextcloud melalui alamat IP dan port yang terbuka. Anda seharusnya dapat melihat halaman awal Nextcloud di mana ia meminta untuk membuat akun admin dan menyelesaikan instalasi.
Ringkasan
Untuk meninjau apa yang telah kami bahas dalam posting ini – proses cara mengatur Nextcloud dengan Redis menggunakan Docker. Dengan komposisi buruh pelabuhan, kami menerapkan setumpuk wadah buruh pelabuhan dalam satu penerapan di mana kami mengonfigurasi untuk menggunakan Nextcloud yang akan menggunakan Redis sebagai cache objek database untuk database MariaDB-nya guna meningkatkan kinerja Nextcloud. Untuk memperjelas bahwa ini bukan metode standar, ini hanya salah satu dari banyak cara untuk membuat tumpukan Docker ini dan menghubungkan layanan ini dan menurut saya ini adalah salah satu metode paling sederhana untuk menulis komposisi buruh pelabuhan untuk penyiapan ini.
Terima kasih atas waktunya…