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.
doas su
Pertama, kita harus mengaktifkan repositori community yang Alpine miliki. Buka file /etc/apk/repositories
terlebih dahulu.
vi /etc/apk/repositories
Hilangkan comment (tanda #
) pada repositori tersebut.
#http://dl-cdn.alpinelinux.org/alpine/latest-stable/communityhttp://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.
apk add --update docker docker-compose git
Jika sudah, tambahkan docker menjadi proses yang otomatis berjalan setelah komputer menyala.
rc-update add docker default
Jangan lupa untuk memulai servicenya.
/etc/init.d/docker start
WIP
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-docker
Nama output folder menjadi
sora-baseline-docker
supaya tidak membingungkan
Salin file .env.example
menjadi .env
.
cp .env.example .env
Ubah isi environment variable sesuai kebutuhan menggunakan vi
atau nano
.
vi .env# ataunano .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 olehDATABASE_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
.
openssl rand -base64 33
Jika sudah semua terisi, save file tersebut kemudian jalankan docker compose.
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
docker ps
Output perintahnya akan terlihat seperti ini.
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.