Cara Membuat Knowledge Base Internal dengan BookStack di Cloud

Ingin membangun sumber daya pengetahuan terpusat untuk tim Anda? Artikel ini memandu Anda langkah demi langkah dalam membuat knowledge base internal menggunakan BookStack, sebuah platform wiki open-source yang intuitif.

Cara Membuat Knowledge Base Internal dengan BookStack di Cloud

Cara Membuat Knowledge Base Internal dengan BookStack di Cloud

Di mana dokumentasi dan Standard Operating Procedure (SOP) tim Anda tersimpan? Apakah tersebar di puluhan folder Google Drive, riwayat chat, atau lebih buruk lagi, hanya ada di kepala beberapa orang senior?

Kondisi ini sangat umum dan berbahaya. Saat ada karyawan baru (onboarding) atau karyawan lama resign, proses transfer pengetahuan menjadi berantakan. Mencari informasi spesifik seperti "cara klaim reimbursement" atau "panduan deploy aplikasi X" menjadi pekerjaan detektif yang membuang waktu produktif.

Solusinya adalah sebuah knowledge base internal yang terpusat. Anda tidak perlu membayar langganan software mahal untuk membuatnya. Dalam panduan teknis ini, kita akan menginstal BookStack, sebuah platform dokumentasi open-source yang elegan, di atas Cloud Server nusa.id menggunakan Docker. Kita juga akan mengintegrasikannya dengan OpenCloud Storage (S3-compatible) agar semua file lampiran tersimpan secara efisien dan skalabel.

Peringatan: Sebelum memulai, pastikan Anda sudah melakukan backup data penting. Disarankan untuk mengikuti tutorial ini menggunakan server baru (fresh install) agar tidak mengganggu sistem yang sudah berjalan.

Apa itu BookStack?

BookStack adalah platform gratis dan open-source untuk mengelola dan menyimpan informasi atau dokumentasi. Tampilannya sederhana, dengan struktur hierarki yang terinspirasi dari buku: Shelves (Rak) → Books (Buku) → Chapters (Bab) → Pages (Halaman). Pendekatan ini membuatnya sangat intuitif untuk menyusun berbagai jenis pengetahuan, mulai dari SOP teknis, panduan HR, hingga notulen rapat.

Fitur utamanya meliputi editor WYSIWYG (What You See Is What You Get) yang simpel, dukungan Markdown, pencarian global yang kuat, dan manajemen user. Karena sifatnya yang self-hosted, Anda punya kendali penuh atas data perusahaan.

Persiapan Sebelum Instalasi

Sebelum kita masuk ke command line, pastikan Anda sudah menyiapkan beberapa hal berikut:

  1. Cloud Server nusa.id: Sebuah server virtual adalah fondasi dari knowledge base kita. Paket Cloud Server nusa.id paling dasar (1 vCPU, 1GB RAM) sudah cukup untuk memulai. Untuk tutorial ini, kita akan menggunakan Ubuntu 22.04.
  2. Domain atau Subdomain: Siapkan sebuah domain (misal: docs.perusahaananda.com) dan arahkan A record-nya ke alamat IP publik Cloud Server Anda.
  3. Akses SSH: Anda harus bisa login ke server Anda melalui SSH dengan akses root atau user dengan hak sudo.
  4. Docker dan Docker Compose: BookStack akan kita jalankan dalam container untuk mempermudah instalasi dan manajemen.
  5. (Opsional) Kredensial OpenCloud Storage: Jika ingin menyimpan file lampiran di S3-compatible storage, siapkan Access Key, Secret Key, nama Bucket, dan Endpoint URL dari dashboard OpenCloud Anda.

Langkah 1: Instalasi Docker dan Docker Compose

Pertama, kita perlu menyiapkan environment server. Login ke Cloud Server Anda via SSH, lalu jalankan perintah berikut untuk update sistem dan menginstal Docker.

# Update package list dan upgrade sistem
sudo apt update && sudo apt upgrade -y

# Download dan jalankan script instalasi resmi Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Tambahkan user Anda ke grup docker agar bisa run command tanpa sudo
# Ganti 'ubuntu' dengan username Anda jika berbeda
sudo usermod -aG docker ubuntu

# Verifikasi instalasi Docker
docker --version

Setelah itu, instal Docker Compose. Ini adalah tool untuk mendefinisikan dan menjalankan aplikasi Docker multi-container.

# Install Docker Compose
sudo apt-get install docker-compose-plugin -y

# Verifikasi instalasi Docker Compose
docker compose version

Anda mungkin perlu logout dan login kembali agar perubahan grup user bisa diterapkan.

Langkah 2: Menyiapkan File Konfigurasi BookStack

Kita akan menggunakan image Docker populer dari linuxserver/bookstack. Image ini sudah mencakup semua dependensi yang diperlukan.

Buat sebuah direktori khusus untuk konfigurasi BookStack.

mkdir bookstack-internal
cd bookstack-internal

Di dalam direktori ini, buat sebuah file bernama docker-compose.yml menggunakan editor teks seperti nano.

nano docker-compose.yml

Isi file tersebut dengan konfigurasi berikut. Ganti nilai-nilai yang ada di dalam kurung siku [...] dengan informasi Anda.

version: "3.8"
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Jakarta
      - APP_URL=[http://docs.perusahaananda.com]
      - DB_HOST=bookstack_db
      - DB_PORT=3306
      - DB_USER=bookstack
      - DB_PASS=[GANTI_DENGAN_PASSWORD_DATABASE_YANG_AMAN]
      - DB_DATABASE=bookstackapp
    volumes:
      - ./bookstack_config:/config
    ports:
      - "6875:80"
    restart: unless-stopped
    depends_on:
      - bookstack_db

  bookstack_db:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Jakarta
      - MYSQL_ROOT_PASSWORD=[GANTI_DENGAN_PASSWORD_ROOT_DB_YANG_AMAN]
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=[GANTI_DENGAN_PASSWORD_DATABASE_YANG_AMAN] # Harus sama dengan DB_PASS di atas
    volumes:
      - ./mariadb_config:/config
    restart: unless-stopped

Beberapa penjelasan penting:

  • APP_URL: Wajib diisi dengan domain yang akan Anda gunakan. Ini penting agar link dan gambar berfungsi dengan benar.
  • DB_PASS & MYSQL_PASSWORD: Gunakan password yang kuat dan pastikan nilainya sama untuk kedua service.
  • Volumes: ./bookstack_config dan ./mariadb_config akan membuat folder di direktori saat ini untuk menyimpan data persisten BookStack dan database-nya. Ini krusial untuk backup.
  • Ports: "6875:80" berarti aplikasi BookStack akan bisa diakses dari luar melalui port 6875 di server Anda. Anda bisa mengubahnya jika port tersebut sudah terpakai.

Simpan file (CTRL+X, lalu Y, lalu Enter di nano).

Langkah 3: Menjalankan BookStack

Sekarang, kita siap untuk menjalankan container. Dari dalam direktori bookstack-internal, jalankan perintah:

docker compose up -d

Perintah ini akan men-download image Docker yang dibutuhkan dan menjalankan container di background (-d). Proses download mungkin memakan waktu beberapa menit tergantung kecepatan internet server Anda.

Untuk memastikan semuanya berjalan lancar, cek status container:

docker compose ps

Anda seharusnya melihat dua container, bookstack dan bookstack_db, dengan status running atau up.

Buka browser Anda dan akses BookStack melalui http://[IP_SERVER_ANDA]:6875 atau domain yang sudah Anda siapkan. Anda akan disambut halaman login BookStack.

Login dengan kredensial default:

  • Email: admin@admin.com
  • Password: password

PENTING: Segera ubah email dan password default setelah login pertama kali melalui menu Edit Profile.

Langkah 4: Integrasi dengan OpenCloud Storage (S3-Compatible)

Secara default, semua file yang Anda unggah (gambar, PDF) tersimpan di dalam volume Docker di server. Untuk skalabilitas dan kemudahan manajemen, lebih baik menyimpannya di object storage seperti S3. Mari konfigurasikan BookStack untuk menggunakan nusa.id OpenCloud Storage.

Pertama, matikan container yang sedang berjalan:

docker compose down

Selanjutnya, kita perlu mengedit file environment BookStack. Buka file .env yang secara otomatis dibuat di dalam folder config BookStack.

nano ./bookstack_config/www/.env

Cari baris berikut dan ubah nilainya. Jika barisnya tidak ada, tambahkan di bagian akhir file.

# Storage Settings
STORAGE_TYPE=s3
STORAGE_S3_KEY=[ACCESS_KEY_ANDA]
STORAGE_S3_SECRET=[SECRET_KEY_ANDA]
STORAGE_S3_REGION=[REGION_BUCKET_ANDA]
STORAGE_S3_BUCKET=[NAMA_BUCKET_ANDA]
STORAGE_S3_ENDPOINT=[ENDPOINT_URL_S3_ANDA]
STORAGE_S3_URL_ROOT=[URL_PUBLIK_BUCKET_ANDA] # Opsional, jika URL publik berbeda dari endpoint

Penjelasan:

  • STORAGE_TYPE: Ubah dari local menjadi s3.
  • STORAGE_S3_...: Isi semua variabel ini dengan kredensial yang Anda dapatkan dari dashboard OpenCloud Storage.
  • STORAGE_S3_ENDPOINT: Ini adalah URL utama layanan S3, bukan URL bucket. Pastikan formatnya benar (misal: https://s3.id-jkt-1.nusa.id).

Simpan perubahan file .env tersebut.

Setelah konfigurasi S3 disimpan, jalankan kembali BookStack:

docker compose up -d

Sekarang, coba buat halaman baru dan unggah sebuah gambar. Jika konfigurasi benar, file tersebut tidak akan tersimpan di server lokal, melainkan langsung masuk ke bucket OpenCloud Storage Anda. Ini membuat knowledge base Anda lebih tangguh dan siap untuk berkembang.

Pusat Pengetahuan di Tangan Anda

Selamat! Anda baru saja berhasil menginstal BookStack dan membangun sebuah knowledge base internal yang aman, andal, dan sepenuhnya milik Anda. Dengan menjalankannya di atas Cloud Server nusa.id dan terintegrasi dengan OpenCloud Storage, Anda mendapatkan solusi yang skalabel dengan biaya yang sangat terprediksi.

Memusatkan dokumentasi bukan lagi sebuah kemewahan, melainkan kebutuhan fundamental untuk menjaga efisiensi dan konsistensi tim. Daripada membiarkan pengetahuan berharga hilang atau sulit diakses, platform seperti BookStack memberikan fondasi yang kokoh untuk pertumbuhan bisnis Anda.

Jika Anda membutuhkan infrastruktur cloud yang andal dengan lokasi data center di Indonesia dan dukungan lokal, jelajahi pilihan paket Cloud Server dari nusa.id untuk memulai proyek Anda hari ini.