Skip to content

Instantly share code, notes, and snippets.

@kudaliar032
Last active April 18, 2021 13:14
Show Gist options
  • Save kudaliar032/0482a76a8f4a4f27f88b9432884fcb5d to your computer and use it in GitHub Desktop.
Save kudaliar032/0482a76a8f4a4f27f88b9432884fcb5d to your computer and use it in GitHub Desktop.
Invenio Deployment

Deployment Invenio ILS

  1. Pastikan requirement system sudah terpenuhi semua (git, docker, docker-compose)
  2. Clone invenio ils
git clone https://github.com/inveniosoftware/invenio-app-ils.git
cd invenio-app-ils
  1. Lakukan modifikasi pada beberapa file untuk menyesuaikan domainnya
  2. Jika menggunakan reverse proxy maka expose port pada lb harus diubah jangan menggunakan default
  3. Build image dan jalankan container dengan perintah
docker-compose -f docker-compose.full.yml up -d
  1. Setelah selesai build dan container telah berjalan, maka selanjutkan adalah melakukan setup/inisialisasi database dll. Dengan cara masuk kedalam container backend dan jalankan script ./scripts/setup
  2. Jika sudah selesai, coba cek log dari backend dan pastikan pingnya berstatus 200
  3. Begitu juga untuk frontend pastikan statusnya 200
  4. Coba akses di browser, pastikan bisa login, dll
  5. Selesai.

Nginx Reverse Proxy

  1. Untuk reverse proxy seperti biasa saja, tinggal arahkan ke port expose docker, pada contoh yaitu https://127.0.0.1:8444/. Atau gunakan konfigurasi berikut ini
server {
	listen 80;
        server_name invenioils.kotakpasir.cyou;

        error_log /var/log/nginx/invenioils.kotakpasir.cyou-err.log;
        access_log /var/log/nginx/invenioils.kotakpasir.cyou-access.log;

        root /var/www/html;
        index index.html;

        location / {
                proxy_pass https://127.0.0.1:8443/;
        }
}

Deployment Invenio RDM

  1. Pastikan system requirements dari InvenioRDM sudah terpenuhi, https://inveniordm.docs.cern.ch/install/requirements/
  2. Install invenio-cli
pip install invenio-cli
  1. Lakukan inisialisasi project invenio
invenio-cli init rdm
  1. Isikan isian sesuai dengan yang diminta
  2. Untuk versi python sesuaikan dengan versi python yang digunakan
  3. Database pilih sesuai dengan kebutuhan, atau jika ragu gunakan default saja
  4. Pilih versi elasticsearch, jika ragu gunakan default saja
  5. Pilih type storage, jika ragu gunakan default saja
  6. Tunggu beberapa saat hingga init project selesai
  7. Masuk kedalam directory project yang diinit oleh cli
  8. Lock dependency python yang digunakan dengan perintah
invenio-cli packages lock
  1. Setelah itu build image yang digunakan
invenio-cli containers build
  1. Setelah image dibuild setup inveniordm untuk melakukan inisialisasi database, index elasticsearch, dll
invenio-cli containers setup
  1. Lakukan perubahan konfigurasi sesuai dengan kebutuhan pada file invenio.cfg. Misalkan untuk hostname, scret key, timezone, dll.
  2. Jika melakukan perubahan maka perlu melakukan rebuild lagi
  3. Jika menggunakan reverse proxy maka perlu melakukan modifikasi pada file docker-compose.full.yml
  4. Jalankan menggunakan perintah berikut
invenio-cli containers start
  1. Lakukan konfigurasi nginx untuk reverse proxy. Contoh konfigurasinya seperiti berikut
server {
        listen 80;
        server_name inveniordm.kotakpasir.cyou;

        error_log /var/log/nginx/inveniordm.kotakpasir.cyou-err.log;
        access_log /var/log/nginx/inveniordm.kotakpasir.cyou-access.log;

        root /var/www/html;
        index index.html;

        location / {
                proxy_pass https://127.0.0.1:8443/;
        }
}
  1. Coba akses untuk memastikan semua berjalan dengan benar
  2. Buat akun untuk admin, dengan cara berikut a. Masuk kedalam contianer dulu b. Eksekusi perintah berikut
invenio users create aditya@test.com --password=123456 --active
invenio roles add aditya@test.com admin
c. Coba login dengan user yang baru dibuat
  1. Coba tambahkan https dulu
  2. Selesai.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment