Cara Menyebarkan Low Code Platform Appsmith Dengan Docker

  • Post author:
  • Post category:Tutorial

Appsmith adalah platform kode rendah untuk merakit perangkat lunak lini bisnis yang kompleks dari komponen UI yang dibuat sebelumnya. Ini terhubung ke sumber data Anda yang ada seperti database SQL, spreadsheet, API REST, dan titik akhir GraphQL. Anda dapat menghubungkan repositori informasi ini hingga widget yang kaya termasuk tabel, daftar, dan bagan.

Edisi Komunitas Appsmith adalah sumber terbuka dan dapat di-host-sendiri sepenuhnya. Dalam panduan ini, kami akan menunjukkan cara men-deploy instance Appsmith Anda sendiri sebagai container Docker. Ini adalah metode yang direkomendasikan yang menyederhanakan instalasi awal dan pemeliharaan berkelanjutan. Kami akan menganggap Anda telah menginstal Docker dan Docker Compose di sistem Anda.

Pendahuluan

Anda dapat memulai server Appsmith dasar untuk eksperimen menggunakan docker run alone:

$ docker run -d --name appsmith -p 8080:80 - p 9001:9001 -v $PWD/appsmith-stacks:/appsmith-stacks appsmith/appsmith-ce

Ini memulai wadah baru menggunakan gambar appsmith/appsmith-ce dan mengikat direktori appsmith-stacks di direktori kerja Anda ke /appsmith-stacks di dalam wadah. Anda harus selalu memasang volume ke lokasi ini untuk menghindari kehilangan data setelah Anda memperbarui atau memulai ulang wadah Appsmith.

Inisialisasi pertama Appsmith dapat memakan waktu cukup lama untuk diselesaikan. Wadah akan menghasilkan file konfigurasi, membuat database MongoDB Anda, dan mengaktifkan set awal plugin aplikasi. Anda dapat memeriksa kapan instans Anda siap untuk koneksi dengan mengikuti container logs:

$ docker logs appsmith --follow

Tunggu untuk melihat Appsmith sedang Berjalan! pesan di log output.

Menyiapkan Appsmith

Sekarang kunjungi localhost:8080 di browser Anda. Port ini terikat ke port 80 container dalam perintah docker run di atas. Ganti dengan nilai Anda sendiri jika Anda mengubah nomor port di command.

Anda akan melihat halaman arahan UI web Appsmith. Klik “Memulai” dan isi formulir untuk menyiapkan instance Appsmith Anda. Anda kemudian akan dibawa langsung ke aplikasi baru yang siap terhubung ke sumber data Anda.

Menggunakan Supervisor

Gambar Appsmith Docker menggunakan supervisord untuk menjalankan beberapa proses di dalam satu wadah. UI web Supervisor terbuka di port 9001; dalam perintah docker run di atas, port host 9001 terikat ke container, sehingga Anda dapat melihat daftar proses container dengan mengunjungi localhost:9001 di browser Anda.

Visiting Supervisor dapat membantu Anda men-debug masalah saat salah satu komponen Appsmith berhenti bekerja. Anda dapat memulai ulang proses, melihat lognya, dan mematikannya tanpa mematikan wadah Docker. Membiarkan Supervisor terbuka seperti ini adalah risiko keamanan: jangan ikat port 9001 ke wadah Appsmith produksi kecuali Anda mengatur otentikasi terlebih dahulu.

Menggunakan Docker Compose

Disarankan untuk menggunakan Docker Compose untuk penerapan Appsmith jangka panjang. Appsmith memelihara sendiri docker-compose.yml yang secara otomatis mengonfigurasi wadah dengan pengikatan tumpukan appsmith dan HTTP, HTTPS, dan port Supervisor binds.

Tumpukan Docker Compose resmi ini hadir dengan integrasi Menara Pengawal. Menara Pengawal akan secara otomatis mengganti wadah Appsmith Anda setiap kali gambar diperbarui, memastikan Anda menggunakan rilis terbaru yang tersedia.

Unduh file Docker Compose ke host Docker Anda:

$ curl -L https://bit.ly/32jBNin -o $PWD/docker-compose.yml

Sekarang gunakan Docker Compose untuk memunculkan tumpukan Appsmith:

$ docker-compose up -d

Tunggu Appsmith sedang Berjalan! untuk muncul di log sebelum Anda mengunjungi localhost di browser Anda.

Menulis File Compose Anda Sendiri

File Compose Appsmith tidak menyediakan variabel lingkungan untuk menyesuaikan pengikatan port atau versi gambar. Tumpukan alternatif ini memungkinkan Anda menggunakan port dan pin yang berbeda ke versi tertentu dari layanan image.

version: "3"

services:
  appsmith:
    image: appsmith/appsmith-ce:${IMAGE_TAG:-latest}
    ports:
      - ${HTTP_PORT:-80}:80
      - ${HTTPS_PORT:-443}:443
    volumes:
      - stacks:/appsmith_stacks
    restart: unless-stopped

volumes:
  stacks:

 

Sekarang Anda dapat menjalankan docker-compose up -d untuk memulai versi Appsmith tertentu pada versi tertentu port.

$ IMAGE_TAG=v1.6.19 HTTP_PORT=8080 docker-compose up -d

File Compose ini juga menggunakan volume Docker bernama alih-alih host bind langsung mount.

Memperbarui Instalasi Anda

Anda dapat memperbarui ke rilis Appsmith baru dengan menarik gambar terbaru dan memulai ulang tumpukan Anda:

$ docker-compose pull && docker-compose up -d --force-recreate appsmith

Ini aman karena semua data persisten Anda disimpan di dalam tumpukan volume.

Anda tidak perlu memperbarui secara manual saat menggunakan Integrasi Menara Pengawal disertakan dengan file Tulis resmi. Anda dapat menambahkan Menara Pengawal ke tumpukan Anda sendiri dengan memasukkannya sebagai layanan tambahan:

version: "3"

services:
  appsmith:
    image: appsmith/appsmith-ce:${IMAGE_TAG:-latest}
    ports:
      - ${HTTP_PORT:-80}:80
      - ${HTTPS_PORT:-443}:443
    volumes:
      - stacks:/appsmith_stacks
    labels:
      com.centurylinklabs.watchtower.enable: "true"
    restart: unless-stopped
  watchtower:
    image: containrrr/watchtower:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --interval 3600 --label-enable --cleanup
    restart: unless-stopped

volumes:
  stacks:

 

Ini menjalankan Appsmith dengan wadah Menara Pengawal yang memeriksa gambar update setiap jam (3600 detik). Hanya wadah dengan label com.centurylinklabs.watchtower.enable yang dicentang sehingga ini ditambahkan ke layanan appsmith. Menara Pengawal membutuhkan akses ke soket Docker host Anda sehingga dapat menarik gambar baru dan mengganti container yang sedang berjalan.

Mengonfigurasi Instance

Appsmith File konfigurasi Anda tersedia di /appsmith-stacks/configuration/docker.env di dalam container. Jika Anda telah mengikat mount direktori lokal ke jalur ini, Anda dapat mengedit file di host Anda alih-alih menghubungkan langsung ke container.

# If you're bind mounting "stacks" to /appsmith-stacks
$ nano stacks/configuration/docker.env

# If you're using a Docker volume
$ docker cp appsmith:/appsmith-stacks/configuration/docker.env docker.env
$ nano docker.env
$ docker cp docker.env appsmith:/appsmith-stacks/configuration/docker.env

 

File konfigurasi mengatur variabel lingkungan yang akan tersedia untuk instalasi Appsmith Anda. Pengaturan yang memungkinkan mencakup kredensial untuk sumber data yang berbeda, kunci API untuk integrasi pihak ketiga, dan detail koneksi untuk server email dan database MongoDB Anda. Nilai yang diperlukan secara otomatis diisi selama menjalankan rutin pertama Appsmith.

Untuk mengubah pengaturan, pertama-tama perbarui nilainya di file konfigurasi:

APPSMITH_MAIL_ENABLED=true
APPSMITH_MAIL_HOST=mail.example.com
APPSMITH_MAIL_PORT=465
APPSMITH_MAIL_USERNAME=appsmith
APPSMITH_MAIL_PASSWORD=$3cureP@ss
APPSMITH_MAIL_FROM=appsmith@example.com

Selanjutnya restart wadah Appsmith Anda untuk menerapkan perubahan:

$ docker-compose restart appsmith

Appsmith akan menggunakan konfigurasi baru secara otomatis saat berikutnya dimulai.

Mengekspor Data Anda

Setelah Anda mulai menggunakan Appsmith, Anda akan segera merakit aplikasi yang mungkin sulit untuk meniru di masa depan. Anda harus sering mencadangkan instalasi Anda untuk menjaga dari kehilangan data.

Gambar Docker menyertakan perintah yang dapat menghasilkan arsip lengkap sesuai permintaan:

$ docker-compose exec appsmith appsmithctl export_db

Cadangan akan disimpan ke /appsmith-stacks/data/ backup/appsmith-data.archive di dalam wadah. Gunakan docker cp untuk memindahkan arsip ke Docker Host:

$ docker cp appsmith:/appsmith-stacks/data/backup/appsmith-data.archive appsmith-backup-$(date +%Y-%m-%d). archive

Next salin direktori /appsmith-stacks/configuration dari wadah. Menyertakan file-file ini dalam cadangan akhir Anda akan menghindari keharusan merekonstruksi file konfigurasi Anda setelah pemulihan cadangan. Sekarang Anda dapat mengunggah cadangan Anda ke penyimpanan cloud atau server khusus untuk melindungi data Anda jika host Docker Anda mengalami kegagalan.

Untuk memulihkan arsip cadangan di masa mendatang, salin ke /appsmith-stacks/data/restore di wadah Appsmith baru dan jalankan perintah import_db:

$ docker cp appsmith-backup-2022-04-13.archive appsmith:/appsmith-stacks/data/restore 
$ docker-compose exec appsmith appsmithctl import_db

Restart Appsmith untuk menyelesaikan restorasi:

$ docker-compose restart appsmith

Menggunakan Appsmith

Aplikasi Appsmith memiliki empat komponen dasar:

  • Pages – Layar di aplikasi Anda.
  • Widgets – Komponen UI pada layar tersebut.
  • Queries/JavaScript – Cuplikan JavaScript khusus yang menambahkan fungsionalitas lanjutan.
  • Sumber data – Koneksi ke database eksternal Anda.

Mulai aplikasi baru dengan mengklik tombol “Tambahkan Sumber Data” di halaman arahannya. Anda dapat dengan cepat membuat perancah aplikasi contoh menggunakan salah satu database sampel bawaan. Klik opsi “pengguna” untuk menambahkan database PostgreSQL yang diisi dengan beberapa data pengguna.

Selanjutnya klik tombol “Kueri Baru” untuk menambahkan kueri yang menampilkan informasi dari datastore.

Kembali ke halaman aplikasi Anda dengan mengklik “Halaman 1” di kolom bilah sisi kiri. Tekan “Tambahkan Widget” dan seret salah satu widget dari bilah sisi ke kanvas. Kami menggunakan List.

Di panel properti di sebelah kanan, hapus data sampel dan ganti dengan {{Query1.data}}. Ini mengeksekusi kueri yang dibuat sebelumnya untuk memunculkan data dari database pengguna. Pratinjau langsung akan memperbarui dan menampilkan daftar pengguna.

Anda dapat terus menambahkan widget untuk mengembangkan kemampuan aplikasi Anda. Setelah selesai, klik tombol “Deploy” di kanan atas untuk memublikasikan aplikasi Anda dan meluncurkannya dalam mode tampilan Appsmith.

Kesimpulan

Appsmith adalah platform kode rendah sumber terbuka untuk mengembangkan aplikasi bisnis baru dengan cepat. Gambar Docker resmi memungkinkan Anda dengan cepat memulai instance Appsmith Anda sendiri dengan konfigurasi minimal.

Setelah container Anda beroperasi, Anda dapat menggunakan rangkaian konektor yang disertakan untuk membuat kueri, mengedit, dan memvisualisasikan penyimpanan data organisasi Anda. Kemudian Anda dapat membagikan aplikasi Anda dengan anggota tim lain atau mengaktifkan akses publik sehingga kontraktor eksternal, pemasok, dan pelanggan dapat bergabung di.

Instans Appsmith Dockerized seharusnya memerlukan sedikit pemeliharaan jangka panjang di luar pembaruan dan pencadangan reguler. Menggunakan Docker untuk penyebaran juga memudahkan untuk menghapus Appsmith dari sistem Anda jika Anda memutuskan itu bukan untuk Anda. Jalankan docker-compose down –volumes untuk benar-benar meruntuhkan tumpukan Anda, termasuk data yang disimpan di dalam appsmith-stacks volume.

Itulah berita seputar Cara Menyebarkan Platform Kode Rendah Appsmith Dengan Docker, semoga bermanfaat. Disadur dari HowToGeek.com.