OpenSID Docker – OpenSID (Open Sistem Informasi Desa) adalah aplikasi opensource berbasis web yang digunakan untuk mengelola data administrasi desa. Seperti mengelola informasi terkait dengan administrasi kependudukan, keuangan, pembangunan, serta layanan publik lainnya di tingkat desa.
Dengan adanya OpenSID ini, diharapkan dapat membantu pemerintah desa dalam hal berikut:
Sistem Informasi Desa
OpenSID bertujuan agar ke semua 74ribu+ desa di Indonesia dapat menerapkan sistem informasi untuk memajukan desanya.
Sebelum proses instalasi OpenSID dimulai. Ada beberapa hal yang harus disiapkan, seperti Server yang memenuhi spesifikasi minimum.
Spesifikasi Server
Berikut adalah langkah-langkah yang bisa Anda ikuti untuk menginstall OpenSID di Server Ubuntu versi 24.04 LTS menggunakan Docker. Sebagai gambaran, di bawah ini kami buatkan listnya.
Gambaran Proses
Baca Juga : Cara Install WordPress di Ubuntu 24.04
Langkah wajib yang harus dilakukan sebelum menginstall sesuatu di server adalah update dulu servernya. Gunakan perintah berikut untuk mengupdate dan mengupgrade server.
sudo apt update && sudo apt upgrade -y
atur timezone server. di sini saya mengatur timezone server ke Asia/Jakarta
sudo timedatectl set-timezone Asia/Jakarta
Langkah ini wajib dilakukan bagi yang belum menginstall docker di server. Karena kita akan menginstal OpenSID dengan docker, Untuk itu perlu menginstal docker terlebih dahulu di Ubuntu Server. Silahkan mengikuti tutorial instalasi docker untuk Ubuntu di bawah ini.
Ikuti tutoril di bawah ini untuk menginstall docker:
Di langkah ini Kiat akan melakukan cloning project OpenSID yang ada di Official Repository Github OpenSID. Silahkan clone project versi terbarunya, kemudian masuk ke direktory hasil cloning.
sudo apt install git -y
git clone https://github.com/OpenSID/OpenSID.git
Dockerfile digunakan untuk membuild project OpenSID menjadi sebuah image docker kontainer. Nantinya proses instalasi dependensi dan ekstensi PHP yang dibutuhkan oleh OpenSID akan dilakukan di Dockerfile ini.
git clone https://github.com/awanservers/OpenSID-Docker.git
mv OpenSID-Docker/* OpenSID
cd OpenSID
Gunakan perintah ls
untuk memverifikasi proses cloning dan pastikan folder docker dan file docker-compose.yml berhasil tercopy semua seperti ini:
Pada tutorial ini, Kita tidak akan mendefinisikan database di docker compose tetapi akan didefinsikan di file .env. Tujuan dari proses ini adalah untuk keamanan dan manajemen konfigurasi, terutama untuk menghindari hardcoding nilai sensitif seperti username, password, dan nama database.
Masih di folder OpenSID, buat file .env dengan perintah berikut:
nano .env
Kemudian definisikan nama database, username, dan password
MYSQL_ROOT_PASSWORD=adminrahasia
MYSQL_DATABASE=opensid_db
MYSQL_USER=opensid
MYSQL_PASSWORD=rahasia
Di langkah ini Kita akan membuild dan menjalankan Kontainer OpenSID menggunakan file Dockerfile dan file docker compose yang telah Kita buat sebelumnya. Proses ini memakan waktu sekitar 5 sd 10 menit. Tergantung spesifikasi server yang Anda gunakan.
docker compose up --build -d
Tunggu prosesnya sampai selesai seperti ini:
Kemudian verifikasi kedua kontainer OpenSID dengan perintah berikut:
docker ps --all
pastikan semua kontainer OpenSID running seperti ini:
Terakhir ubah permission document root webserver ke www-data agar bisa membaca file php OpenSID.
docker exec -u root opensid-webserver-1 chown www-data:www-data /var/www/html -R
Langkah selanjutnya adalah proses instalasi, masukkan domain ke address bar browser. Kemudian akan muncul halaman instalasi OpenSID. Ikuti saja proses instalasinya sampai selesai.
http://ip-server:8080
Akan ada pemeriksaan persyaratan server seperti ini. Pastikan semua sudah tercentang hijau
Kemudian akan muncul verifikasi izin baca tulis folder. Pastikan semua tercentang hijau seperti ini.
Kemudian setting nama database, username, dan password. Isi sesuai file .env yang tadi sudah dibuat.
Pastikan konfigurasi database yang dimasukkan berhasil seperti ini.
Kemudian buat user dan password untuk masuk ke dashboard admin OpenSID
Sampai disini proses instalasi OpenSID dengan docker sudah selesai. Tapi jika Anda ingin menginstall SSL dan domain untuk mengakses OpenSID. Silahkan melanjutkan tutorial di bawah ini.
Kita akan setting Reverse proxy nginx dengan tujuan agar web OpenSID bisa diakses menggunakan domain.
sudo nano /etc/nginx/sites-available/opensid.conf
Kemudian masukkan konfigurasi berikut:
server {
listen 80;
server_name awanservers.online; # Ganti dengan domain Anda
location / {
proxy_pass http://ip-server:8080; # Ganti dengan IP Anda
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Jika sudah, symlinks vhost ke directory /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/opensid.conf /etc/nginx/sites-enabled/
Selanjutnya, test kode konfigurasi virtualhost di atas dengan perintah berikut :
Pastikan hasilnya “OK”.
sudo nginx -t
Terakhir restart service nginx untuk memuat perubahan.
sudo systemctl restart nginx
Langkah wajib yang harus dilakukan selanjutnya adalah mempointing dns, yaitu mengarahkan domain ke ip address server. Untuk mempointing domain, Anda bisa masuk ke panel domain manajemen tempat Anda membeli domain.
Atau jika Anda menggunakan cloudflare, bisa mempointing domain seperti gambar di bawah ini. Saya rasa untuk domain kontrol selain cloudflare, cara pointingnya sama saja. Tinggal masukkan IP Publik server VPS ke A record domain.
SSL ini akan menjadikan websiet OpenSID Anda menjadi HTTPS. SSL yang akan digunakan adalah Lets Encrypt dan menggunakan certbot untuk proses instalasinya. Berikut cara instalasinya:
Pertama install dulu nginx, paket certbot, dan python certbot nginx.
sudo apt install -y nginx
sudo apt install -y certbot python3-certbot-nginx
Kemudian jalankan perintah di bawah ini untuk mendapatkan sertifikat SSL dari Let’s Encrypt.
sudo certbot --nginx --agree-tos --redirect --email [email protected] -d awanservers.online
--email
dengan email aktif-d
dengan nama domain websitePastikan proses request SSLnya berhasil seperti ini :
Menginstall OpenSID di Ubuntu 24.04 menggunakan Docker memungkinkan proses yang lebih mudah dan terisolasi. Dengan Docker, semua dependensi dan konfigurasi dapat dikemas dalam container, mengurangi kemungkinan masalah kompatibilitas dan membuat manajemen lebih efisien. Langkah-langkah instalasi yang jelas dan penggunaan Docker Compose untuk mengatur layanan seperti webserver, PHP, database, dan PHPMyAdmin, memastikan setup yang cepat dan dapat dipelihara. Dengan pendekatan ini, pengguna dapat langsung mengakses dan mengelola OpenSID tanpa mengubah sistem utama, serta mengoptimalkan performa dan keamanan.
Referensi