/K8sAppsmithMagic

Deploy Appsmith on Kubernetes with a Touch of Magic

Primary LanguageShell

AppsmithMagic

What is Appsmith Magic?

AppsmithMagic is Appsmith with a touch of magic for Kubernetes deployments. The goal of this repository is to deploy Appsmith on Kubernetes in a simple and fast manner, without having to rely on Helm repositories. This integration uses the Docker images of Appsmith, Redis, and MongoDB, making everything configurable through the config.yaml files. This makes it incredibly flexible and easy to manipulate.

You can create your StatefulSets, namespaces, control replicas, set up environments for production, development, staging, testing, and establish a complete integration flow for your Appsmith applications, all in a highly scalable manner.

Prerequisites

  1. A Linux-based operating system (in this case, we use Ubuntu 22.04).
  2. Kubernetes (K8s) - You can follow this installation guide: Install kubectl.
  3. Minikube - Minikube Installation Guide.
  4. Docker - Docker Installation Guide.
  5. Visual Studio Code - VS Code Installation Guide.

Getting Started

  1. Install the requirements using the following script:
./install
  1. To get started, run the following command:
./startminikube.sh && ./deploy.sh
  1. Now, to monitor the deployment, run this command and wait for everything to come up successfully:
kubectl get pods -n appsmith
  1. Perform a port forward of port 80 from the Appsmith pod.
kubectl port-forward $POD_NAME 8080:80 -n appsmith

You will see the containers starting up. If the Appsmith container takes too long to start (more than 15 minutes), execute this command:

kubectl delete pod <<Appsmith Pod Name>> --grace-period=0 --force -n appsmith