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
Section titled “Instalasi docker dan git”Tahap nol, anda harus masuk ke root yang biasanya sudah root secara default. Jika belum, lakukan perintah ini.
doas suPertama, kita harus mengaktifkan repositori community yang Alpine miliki. Buka file /etc/apk/repositories terlebih dahulu.
vi /etc/apk/repositoriesHilangkan comment (tanda #) pada repositori tersebut.
#http://dl-cdn.alpinelinux.org/alpine/latest-stable/communityhttp://dl-cdn.alpinelinux.org/alpine/latest-stable/communityLink mungkin akan terlihat berbeda sesuai pilihan mirror repositori yang dipilih pada saat proses instalasi, lihat akhirannya saja.
Kemudian kita install docker dan git.
apk add --update docker docker-compose gitJika sudah, tambahkan docker menjadi proses yang otomatis berjalan setelah komputer menyala.
rc-update add docker defaultJangan lupa untuk memulai servicenya.
/etc/init.d/docker startTutorial ini di sadur dari https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository dengan sedikit modifikasi
Supaya mempermudah proses instalasi, anda diperlukan untuk masuk sebagai root dengan menjalankan perintah ini.
sudo suUpdate terlebih dahulu menggunakan apt supaya mendapatkan informasi terbaru mengenai package yang tersedia.
apt updateInstall ca-certificates, curl, dan git.
apt-get install ca-certificates curlBuat direktori keyrings.
install -m 0755 -d /etc/apt/keyringsDownload gpg key docker ke direktori keyrings yang sudah dibuat.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascUbah izin file docker.asc supaya dapat dibaca semua orang.
chmod a+r /etc/apt/keyrings/docker.ascTambahkan repositori dan lakukan update kembali.
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" | \tee /etc/apt/sources.list.d/docker.list > /dev/nullapt updateInstall docker dan segala ekstensi yang diperlukan.
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMengunduh konfigurasi siap pakai dan menjalankannya
Section titled “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.
git clone https://github.com/sora-vp/baseline-docker.git sora-baseline-dockercd sora-baseline-dockerNama output folder menjadi
sora-baseline-dockersupaya tidak membingungkan
Salin file .env.example menjadi .env.
cp .env.example .envUbah isi environment variable sesuai kebutuhan menggunakan vi atau nano.
vi .env# ataunano .envBerikut 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 olehDATABASE_USERdalam 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.
openssl rand -base64 33Jika sudah semua terisi, save file tersebut kemudian jalankan docker compose.
docker compose up -dJika 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
docker psOutput perintahnya akan terlihat seperti ini.

Web interface
Section titled “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.

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