Lewati ke konten

Konfigurasi penggunaan docker

Pada halaman ini akan dijelaskan bagaimana cara melakukan instalasi git, docker, dan sora baseline itu sendiri. Terdapat dua sistem operasi yang akan dijelaskan pada dokumentasi ini yaitu Alpine Linux dan Ubuntu.

Instalasi docker dan git

Tahap nol, anda harus masuk ke root yang biasanya sudah root secara default. Jika belum, lakukan perintah ini.

Terminal window
doas su

Pertama, kita harus mengaktifkan repositori community yang Alpine miliki. Buka file /etc/apk/repositories terlebih dahulu.

Terminal window
vi /etc/apk/repositories

Hilangkan comment (tanda #) pada repositori tersebut.

#http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community

Link mungkin akan terlihat berbeda sesuai pilihan mirror repositori yang dipilih pada saat proses instalasi, lihat akhirannya saja.

Kemudian kita install docker dan git.

Terminal window
apk add --update docker docker-compose git

Jika sudah, tambahkan docker menjadi proses yang otomatis berjalan setelah komputer menyala.

Terminal window
rc-update add docker default

Jangan lupa untuk memulai servicenya.

Terminal window
/etc/init.d/docker start

Mengunduh konfigurasi siap pakai dan menjalankannya

Supaya memudahkan konfigurasi, sudah ada preset konfigurasi yang sudah siap digunakan. Lakukan proses cloning repositori https://github.com/sora-vp/baseline-docker dan pindah ke direktori tujuannya.

Terminal window
git clone https://github.com/sora-vp/baseline-docker.git sora-baseline-docker
cd sora-baseline-docker

Nama output folder menjadi sora-baseline-docker supaya tidak membingungkan

Salin file .env.example menjadi .env.

Terminal window
cp .env.example .env

Ubah isi environment variable sesuai kebutuhan menggunakan vi atau nano.

Terminal window
vi .env
# atau
nano .env

Berikut ini penjelasan .

  • DATABASE_NAME : Nama database yang akan dipakai oleh MySQL.
  • DATABASE_USER : Nama user yang akan dipakai oleh MySQL.
  • DATABASE_PASSWORD : Kata sandi yang akan dipakai oleh DATABASE_USER dalam mengakses MySQL.
  • DATABASE_ROOT_PASSWORD : Kata sandi user root yang digunakan untuk melakukan backup.
  • AUTH_SECRET : Token random untuk mengencrypt token jwt dan verifikasi hash email.

Disadur dari dokumentasi authjs, untuk membuat secret yang aman dan random, gunakan tool openssl.

Terminal window
openssl rand -base64 33

Jika sudah semua terisi, save file tersebut kemudian jalankan docker compose.

Terminal window
docker compose up -d

Jika belum ada image yang di pull maka docker akan otomatis mengambil image sesuai versi yang tertera pada tag yang dipanggil. Jika sudah di start oleh docker compose, cek kembali apakah sudah ada container yang berjalan atau belum dengan perintah

Terminal window
docker ps

Output perintahnya akan terlihat seperti ini.

Output dari docker ps

Web interface

Sora dirancang untuk semua semua web interface dimulai dari web admin, web pemilihan, dan web presensi kehadiran berjalan pada 127.0.0.1 (localhost) server untuk memanfaatkan fitur SSH Tunnel yang mengencrypt data. Selain itu juga, web presensi kehadiran dan pemilihan memerlukan akses kamera yang harus berjalan diatas HTTPS, supaya lebih singkat dan tetap aman, tunneling adalah solusi yang cukup masuk akal.

Berikut ini list port default ketiga web interface berjalan, nomor port default wajib diubah ke port lain.

  • Web Admin -> 3000
  • Web Presensi Kehadiran -> 8080
  • Web Pemilihan -> 8081

WIP - Tutorial ubah port (belum ada versioning di repo utama)

Jika sudah terlihat tampilan seperti ini atau bisa lakukan curl http://localhost:<port berjalannya web admin> maka sudah berhasil dijalankan.

Gambar tampilan web admin

Anda bisa lanjut ke tahap selanjutnya jika semua proses berjalan lancar.