Lewati ke konten utama

How to Install Hasura GraphQL Engine

hasura logo

Hasura adalah mesin sumber terbuka yang berbasis pada bahasa kueri GraphQL untuk API. Ini memungkinkan Anda untuk membuat koneksi, mengelola, dan mengonfigurasi pemicu peristiwa untuk database PostgreSQL dalam beberapa menit. Hasura membantu Anda membangun aplikasi GraphQL yang didukung oleh PostgreSQL atau secara bertahap memindahkan proyek yang ada.

Dalam tutorial ini, kami akan mengulas dua contoh instalasi mesin Hasura GraphQL di platform:

Automatic Deployment with Local PostgreSQL Database

1. Masuk ke dashboard dan klik Marketplace di pojok kiri atas.

Marketplace button

2. Cari paket Docker Engine CE dan mulai instalasinya.

install docker engine ce from marketplace

3. Untuk secara otomatis membuat Hasura dan database PostgreSQL dalam kontainer yang sama, pilih opsi Deploy containers from compose.yml, dan berikan konfigurasi default dari repository Hasura on Docker:

https://raw.githubusercontent.com/hasura/graphql-engine/master/install-manifests/docker-compose/docker-compose.yaml

deploy Hasura from compose.yml
peringatan

Instalasi memerlukan public IP, yang merupakan opsi berbayar yang tersedia hanya untuk pengguna billing.

Konfigurasikan kolom Environment, Display Name, dan Region (jika tersedia) sesuai kebutuhan Anda, lalu klik Install.

4. Setelah instalasi berhasil, Anda dapat mengakses konsol Hasura untuk memastikan semuanya berjalan dengan baik.

http://{envDomain}:8080/console
Hasura admin panel

Itu saja! Sekarang, Anda dapat memberikan Data untuk database Anda melalui tab bernama sama di bagian atas dan mencoba kueri GraphQL setelahnya.

Manual Deployment with External PostgreSQL Database

Jika Anda sudah memiliki database, Anda dapat menghubungkannya dengan mesin Hasura GraphQL.

1. Buat Docker Engine CE standalone yang bersih melalui Marketplace platform.

create clean docker engine ce

2. Setelah dibuat, sambungkan ke kontainer melalui Web SSH dan buat file dengan konten berikut (misalnya, nano docker-run.sh):

docker run -d --restart=always -p 80:8080 \
-e HASURA_GRAPHQL_DATABASE_URL=postgres://{username}:{password}@{host}/{dbname} \
-e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
-e HASURA_GRAPHQL_ADMIN_SECRET=myadminsecretkey \
hasura/graphql-engine:v1.0.0
prepare Hasura installation command

Untuk informasi lebih lanjut tentang perintah docker run, lihat dokumentasi resmi. Dalam kasus kami, parameter-parameter sebagai berikut:

  • -d - menjalankan layanan Anda di latar belakang
  • –restart=always - selalu memulai daemon (misalnya setelah kontainer di-restart)
  • -p 80:8080 - mengonfigurasi pengalihan port dari port 80 kontainer Docker Engine ke port 8080 dari gambar Hasura yang berjalan di dalam
  • -e - mengatur variabel lingkungan (lihat daftar lengkap untuk detail tambahan)
    • HASURA_GRAPHQL_DATABASE_URL - tautan koneksi ke database PostgreSQL Anda dengan karakter khusus yang di-URL encode (jika terletak di platform, detail yang diperlukan dapat dilihat di email pembuatan PostgreSQL)
    • HASURA_GRAPHQL_ENABLE_CONSOLE - mengaktifkan konsol Hasura
    • HASURA_GRAPHQL_ADMIN_SECRET - mengonfigurasi kunci rahasia admin untuk mengakses konsol, myadminsecretkey dalam kasus kami
  • hasura/graphql-engine:v1.0.0 - gambar Docker yang akan diinstal

3. Buat file ini dapat dieksekusi dan jalankan untuk membuat kontainer Docker Hasura.

chmod +x docker-run.sh
./docker-run.sh
install Hasura with custom configurations

Anda juga dapat menjalankan perintah docker ps untuk memastikan bahwa layanan Hasura berjalan.

4. Dalam kasus kami, konsol aplikasi berada di port 80, sehingga Anda dapat mengklik Open in Browser di sebelah environment Anda untuk pengalihan otomatis. Jika tidak, port yang diperlukan harus ditambahkan ke URL environment.

Hasura access protection with admin secret

Sesuai pengaturan kami, kunci rahasia admin harus disediakan untuk mengakses konsol (myadminsecretkey dalam kasus kami).

5. Sekarang, Anda dapat mulai bekerja dengan database Anda melalui API GraphQL. Misalnya, dari tab GraphiQL.

peringatan

Jika ada tabel yang sudah ada yang harus dilacak oleh Hasura, pergi ke tab Data dan izinkan akses ke tabel yang diperlukan.

working in Hasura admin panel

Sebagai alternatif, Anda dapat menggunakan GraphQL Endpoint (ditentukan di bagian atas halaman) untuk membuat permintaan POST ke database melalui alat atau skrip yang Anda pilih.

Baca Juga