Cara Instalasi dan Konfigurasi Directus di Ubuntu 24.04 Menggunakan Docker

Cara Instalasi dan Konfigurasi Directus di Ubuntu 24.04 Menggunakan Docker

Pengantar

Membangun aplikasi web atau mobile tidak selalu berarti developer harus membuat seluruh sistem backend dari awal. Ketika aplikasi membutuhkan database, API, autentikasi, pengelolaan file, hingga halaman administrasi, proses pengembangannya dapat menjadi cukup panjang.

Salah satu solusi yang dapat digunakan untuk mempercepat proses tersebut adalah Directus. Directus merupakan platform open data yang menyediakan antarmuka untuk mengelola database sekaligus API yang dapat digunakan oleh aplikasi lain.

Directus dapat dimanfaatkan untuk berbagai kebutuhan, seperti backend website, aplikasi mobile, dashboard internal, sistem manajemen konten, hingga aplikasi yang membutuhkan REST API atau GraphQL API.

Salah satu metode yang praktis untuk menjalankan Directus adalah menggunakan Docker. Dengan Docker, Directus dapat dijalankan dalam container sehingga proses instalasi dan pengelolaan dependensinya menjadi lebih terstruktur.

Pada artikel ini, kita akan membahas cara instalasi dan konfigurasi Directus di Ubuntu 24.04 menggunakan Docker. Pembahasan dimulai dari persiapan server, instalasi Docker, pembuatan konfigurasi Docker Compose, menjalankan Directus, hingga konfigurasi dasar dan beberapa tips untuk penggunaan di lingkungan produksi.

Apa Itu Directus?

Directus adalah platform yang digunakan untuk mengelola data dan menyediakan API berdasarkan struktur database yang digunakan. Jika biasanya developer harus membuat backend API secara manual untuk mengakses database, Directus dapat membantu menyediakan API tersebut secara otomatis.

Secara sederhana, Directus berada di antara database dan aplikasi. Database digunakan untuk menyimpan data, Directus menyediakan antarmuka untuk mengelola data tersebut, sedangkan API menjadi penghubung antara data dengan aplikasi.

Misalnya, sebuah perusahaan memiliki aplikasi katalog produk. Data produk disimpan di dalam database, kemudian administrator dapat mengelola data tersebut melalui dashboard Directus tanpa harus mengubah database secara manual. Aplikasi frontend selanjutnya dapat mengambil data produk melalui API Directus.

Directus juga menyediakan berbagai fitur untuk mendukung pengelolaan aplikasi, seperti dashboard untuk mengelola data, REST API, GraphQL API, manajemen pengguna, role dan permission, pengelolaan file, relasi antardata, webhook, serta extension.

Dengan pendekatan tersebut, Directus dapat digunakan sebagai backend yang menghubungkan database dengan berbagai jenis aplikasi, baik website, aplikasi mobile, dashboard internal, maupun sistem lainnya yang membutuhkan akses data melalui API.

Persiapan Server Ubuntu 24.04

Sebelum melakukan instalasi Directus, siapkan VPS dengan Ubuntu 24.04 dan resource yang memadai untuk menjalankan Directus beserta database.

Untuk penggunaan self-hosting dengan Docker, spesifikasi yang dapat digunakan adalah:

  • CPU: minimal 2 vCPU.
  • RAM: minimal 4 GB.
  • Storage: minimal 20 GB SSD.
  • OS: Ubuntu 24.04 LTS.
  • Akses: SSH dengan user yang memiliki hak sudo atau root.
  • Koneksi: koneksi internet untuk instalasi Docker, Directus, dan dependensi lainnya.

Spesifikasi tersebut cocok untuk penggunaan ringan hingga tahap pengembangan. Jika Directus digunakan untuk aplikasi produksi dengan banyak pengguna, data besar, atau pengelolaan file dalam jumlah banyak, resource VPS perlu disesuaikan dengan beban aplikasi.

Instalasi Docker di Ubuntu 24.04

1. Instalasi Docker

  • Perbarui paket sistem Ubuntu:

    sudo apt update
  • Instal paket pendukung Docker:

    sudo apt install ca-certificates curl -y
  • Buat direktori untuk menyimpan keyring Docker:

    sudo install -m 0755 -d /etc/apt/keyrings
  • Unduh GPG key Docker:

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
  • Atur permission file GPG key:

    sudo chmod a+r /etc/apt/keyrings/docker.asc
  • Tambahkan repository Docker:

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • Perbarui repository:

    sudo apt update
  • Instal Docker Engine dan komponen pendukungnya:

    sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  • Periksa versi Docker:

    docker --version
  • Kemudian periksa Docker Compose:

    docker compose version
  • Jika kedua perintah menampilkan versi yang terpasang, Docker sudah berhasil dipasang pada Ubuntu 24.04.

Membuat Konfigurasi Directus dengan Docker Compose

1. Membuat Konfigurasi Directus

  • Buat direktori khusus untuk Directus:

    sudo mkdir -p /opt/directus
    cd /opt/directus
  • Buat file environment:

    nano .env
  • Gunakan konfigurasi berikut:

    DIRECTUS_VERSION=11.17.4
    
    POSTGRES_DB=directus
    POSTGRES_USER=directus
    POSTGRES_PASSWORD=PASSWORD_DATABASE_ANDA
    
    DIRECTUS_SECRET=SECRET_ACAK_ANDA
    
    ADMIN_EMAIL=admin@example.com
    ADMIN_PASSWORD=PASSWORD_ADMIN_ANDA
  • Pada bagian POSTGRES_PASSWORD, gunakan password database yang kuat.

  • Untuk membuat secret acak, gunakan:

    openssl rand -hex 32
  • Masukkan hasilnya ke variabel berikut:

    DIRECTUS_SECRET=HASIL_SECRET
  • Variabel DIRECTUS_SECRET digunakan oleh Directus untuk kebutuhan keamanan seperti penandatanganan token. Gunakan nilai secret yang kuat dan jangan membagikannya kepada pengguna lain.

  • Untuk password administrator, gunakan password yang kuat dan unik.

  • Selanjutnya, buat file Docker Compose:

    nano docker-compose.yml
  • Masukkan konfigurasi berikut:

    services:
      database:
        image: postgres:16
        restart: unless-stopped
        environment:
          POSTGRES_DB: ${POSTGRES_DB}
          POSTGRES_USER: ${POSTGRES_USER}
          POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
        volumes:
          - ./database:/var/lib/postgresql/data
    
      directus:
        image: directus/directus:${DIRECTUS_VERSION}
        restart: unless-stopped
        ports:
          - "8055:8055"
        depends_on:
          - database
        environment:
          SECRET: ${DIRECTUS_SECRET}
    
          DB_CLIENT: pg
          DB_HOST: database
          DB_PORT: 5432
          DB_DATABASE: ${POSTGRES_DB}
          DB_USER: ${POSTGRES_USER}
          DB_PASSWORD: ${POSTGRES_PASSWORD}
    
          ADMIN_EMAIL: ${ADMIN_EMAIL}
          ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    
        volumes:
          - ./uploads:/directus/uploads
          - ./extensions:/directus/extensions
  • Konfigurasi tersebut menjalankan dua container utama, yaitu PostgreSQL sebagai database dan Directus sebagai aplikasi.

  • Directus menggunakan variabel DB_CLIENT, DB_HOST, DB_PORT, DB_DATABASE, DB_USER, dan DB_PASSWORD untuk terhubung ke PostgreSQL.

Menjalankan Directus dan Login Pertama Kali

1. Menjalankan Directus

  • Sebelum menjalankan container, periksa konfigurasi Docker Compose:

    docker compose config
  • Jika tidak terdapat error, jalankan container:

    docker compose up -d

    Docker akan mengunduh image PostgreSQL dan Directus jika belum tersedia pada server.

  • Periksa status container:

    docker compose ps

    Jika berhasil, container database dan Directus akan berada dalam kondisi berjalan.

  • Untuk melihat log Directus:

    docker compose logs --tail=100 directus
  • Sedangkan log PostgreSQL dapat dilihat menggunakan:

    docker compose logs --tail=100 database
  • Jika Directus sudah berjalan, buka browser dan akses:

    http://IP-SERVER:8055

    Misalnya:

    http://123.123.123.123:8055
  • Jika instalasi berhasil, halaman login Directus akan ditampilkan.

  • Gunakan email dan password administrator yang telah ditentukan pada file .env. Variabel ADMIN_EMAIL dan ADMIN_PASSWORD digunakan untuk membuat akun administrator pertama saat proses bootstrap Directus.

Mengenal Dashboard Directus

1. Mengenal Dashboard Directus

  • Setelah berhasil masuk, Directus akan menampilkan dashboard administrasi.

  • Pada versi yang digunakan dalam tutorial ini, bagian Settings menyediakan beberapa menu penting, seperti:

    • Data Model.
    • Flows.
    • User Roles.
    • Access Policies.
    • Settings.
    • Appearance.
    • Bookmarks.
    • Translations.
    • AI.
    • Marketplace.
    • Extensions.
  • Versi Directus yang terpasang juga dapat dilihat pada bagian bawah panel pengaturan.

  • Pada praktik ini, Directus berhasil dijalankan dan dashboard menampilkan Directus 11.17.4.

Tips dan Catatan Penting

  • Gunakan password yang kuat dan unik untuk PostgreSQL serta akun administrator Directus.
  • Jangan membuka port PostgreSQL ke internet jika hanya digunakan oleh Directus.
  • Jangan sembarangan menghapus direktori database karena berisi data PostgreSQL.
  • Jangan menganggap container sebagai backup. Pastikan data memiliki storage persisten dan salinan cadangan.
  • Untuk server produksi, gunakan domain, HTTPS, dan reverse proxy.
  • Pantau kapasitas storage karena file yang diunggah melalui Directus dapat terus bertambah.
  • Periksa kapasitas disk dengan df -h.
  • Periksa penggunaan storage Directus dengan du -sh /opt/directus/*.
  • Pantau penggunaan resource container dengan docker stats.

Kesimpulan

Instalasi Directus di Ubuntu 24.04 menggunakan Docker merupakan salah satu cara praktis untuk menjalankan platform backend dan headless CMS secara terstruktur.

Dalam tutorial ini, Directus dijalankan menggunakan Docker Compose bersama PostgreSQL sebagai database. Konfigurasi tersebut membuat aplikasi dan database berada pada container yang terpisah, sementara data penting disimpan menggunakan storage persisten.

Tahapan instalasi dimulai dari memasang Docker, membuat direktori Directus, membuat file .env, membuat docker-compose.yml, menjalankan container, mengakses halaman login, hingga masuk ke dashboard Directus.

Setelah Directus berhasil dijalankan, pengguna dapat membuat collection, field, data, user, permission, serta memanfaatkan REST API untuk menghubungkan Directus dengan aplikasi lain.

Untuk kebutuhan pembelajaran dan pengembangan, konfigurasi Docker Compose seperti pada tutorial ini sudah dapat digunakan sebagai dasar. Sementara untuk lingkungan produksi, sebaiknya tambahkan reverse proxy, HTTPS, domain, backup berkala, monitoring, serta pengamanan akses database.

Dengan infrastruktur tersebut, Directus dapat menjadi salah satu pilihan untuk membangun backend berbasis API secara lebih cepat tanpa harus membuat seluruh sistem pengelolaan data dan administrasi dari awal.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Finance : +6285191239466