Skip to main content

2023 Side Projects

March 2023 - Setup & Launched Point Of Sale system for NGO using Loyverse

Learning : 

Pros: Can setup on multiple devices, on the go, in store, user friendly, fully supported printer and bar scanner, free version available

Cons: OUM settings is too simplified but still able to fulfill the requirements. 


Dec 2023 - Setup an open source Knowledge Based System using Growi for NGO 

Deployment: Docker container

Reference :

Install Docker using APT Repository

Install Docker Compose

sudo apt install docker-compose

Install Growi on Docker

Growi docker is using node js, elasticsearch  and MongoDB as its tech stack

run on detached mode!

docker-compose up -d

update the docker-compose.yml to use the same network

networks:
  growi_network:
    driver: bridge

Mount Elastic Block Storage (Free Tier given by AWS) for Docker usage. to solve out of storage of basic storage given is on 7.6gb. EBS is 20gb extra!!

lsblk
df -h
sudo mkdir /mnt/xxx
sudo mount /dev/xxx /mnt/xxx
sudo mkfs.ext4 /dev/xxx
sudo mount /dev/xxx /mnt/xxx
df -h
echo '/dev/xxx /mnt/xxx ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab

 

change the docker data to point to the new mounted path
/etc/systemd/system/docker.service.d/override.conf
or
/etc/docker/daemon.json


it should override the docker service conf..

/lib/systemd/system/docker.service
 
enabled the letencrypt&nginx container to handle https cert generation

read through this documentation 


https://docs.growi.org/en/admin-guide/admin-cookbook/lets-encrypt.html#how-to-configure


Dependencies

  1. Node.js v16.x or v18.x
  2. npm 6.x
  3. yarn
  4. Turborepo
  5. MongoDB 4.4 or above
  6. nginx (additional / custom)
  7. letsencrypt (additional / custom)

Optional Dependencies

  1. Redis 3.x
  2. ElasticSearch 7.x or 8.x (needed when using Full-text search)
  3. CAUTION: Following plugins are required
    • Japanese (kuromoji) Analysis plugin
    • ICU Analysis Plugin

For this project im using 

AWS instance EC2

AWS Elastic Block Storage

Nginx Web Server + Letencrypt (Using existing docker image)

Growi Docker but disabled ElasticSearch usage as its taking a lot of ram resources.

 

 






 

Comments