Skip to content

revant/erpnext_feature_board

Repository files navigation

ERPNext Feature Board

Feature board for ERPNext

Development Prerequisites

Install K3d Cluster

# export K3D_FIX_CGROUPV2=1 # use in case of cgroup2, Arch Linux or latest kernels
k3d cluster create devcluster \
  --registry-config ./cluster/k3d-registries.yaml \
  --api-port 127.0.0.1:6443 \
  -p 80:80@loadbalancer \
  -p 443:443@loadbalancer \
  --k3s-server-arg "--no-deploy=traefik"

Install Docker Registry

docker volume create local_registry
docker container run -d \
  --name registry.localhost \
  -e "REGISTRY_STORAGE_DELETE_ENABLED=true" \
  -p 5000:5000 \
  -v local_registry:/var/lib/registry \
  --restart always \
  registry:2
docker network connect k3d-devcluster registry.localhost
docker login registry.localhost:5000 -u admin -p password

Add Helm Repo

helm repo add fluxcd https://charts.fluxcd.io
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

Install MariaDB

kubectl create ns mariadb
helm install mariadb -n mariadb bitnami/mariadb -f ./cluster/mariadb-values.yaml

Install NFS

kubectl create ns nfs
kubectl create -f ./cluster/nfs-server-provisioner/statefulset.dev.yaml
kubectl create -f ./cluster/nfs-server-provisioner/rbac.yaml
kubectl create -f ./cluster/nfs-server-provisioner/class.yaml

Install Redis

kubectl create ns redis
helm install redis -n redis bitnami/redis \
  --set auth.enabled=false \
  --set auth.sentinal=false \
  --set architecture=standalone \
  --set master.persistence.enabled=false

Install Helm Operator (Flux Helm Operator)

kubectl apply -f https://raw.githubusercontent.com/fluxcd/helm-operator/1.2.0/deploy/crds.yaml
kubectl create ns flux
helm upgrade -i helm-operator fluxcd/helm-operator \
  --namespace flux \
  --set helm.versions=v3

Create Namespace for application

kubectl create ns efb

Note: set kubernetes_namespace in site_config.json to use any other namespace.

Install Ingress Controller (Optional)

Follow this step to try out created sites locally on port 80 and 443.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.46.0/deploy/static/provider/cloud/deploy.yaml

Bench start

Install this app on a site and bench start, we'll call this site efb.localhost

Initialize Site

  • Add Github Repository, add the url and github personal access token
  • Sync Github Repository

License

MIT