From 206d7e42c0a1c4e924aca2e82ea713dbac058022 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Fri, 12 Feb 2021 16:18:08 +0530 Subject: [PATCH] docs: add readme Signed-off-by: Ameya Shenoy --- README.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e33f1a --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ + +
+ +

+ Bullish +

+

A simple webapp to explore Bhav Copy Equity data

+
+ +[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) + +Backend: +[![Docker Pulls - Backend](https://img.shields.io/docker/pulls/codingcoffee/bullish-backend)](https://hub.docker.com/r/codingcoffee/bullish-backend) +[![Docker Image Size Backend (tag)](https://img.shields.io/docker/image-size/codingcoffee/bullish-backend?sort=date)](https://hub.docker.com/r/codingcoffee/bullish-backend/tags?name=latest) + +Frontend +[![Docker Pulls - Frontend](https://img.shields.io/docker/pulls/codingcoffee/bullish-frontend)](https://hub.docker.com/r/codingcoffee/bullish-frontend) +[![Docker Image Size Frontend (tag)](https://img.shields.io/docker/image-size/codingcoffee/bullish-frontend?sort=date)](https://hub.docker.com/r/codingcoffee/bullish-frontend/tags?name=latest) + +## Usage + +- Local setup is supported via Docker Compose + +```sh +docker-compose up -d +``` + +### Build + +- Build images for dev + +```sh +docker-compose build +``` + +- Build images for prod + +```sh +./prod-build.sh +``` + +### Logging + +To get the logs of all containers + +```sh +docker logs -f +``` + +To get the logs of a particular container + +```sh +docker logs -f container-name +``` +Here `container-name` can be either of `backend`, `frontend`, `redis`, +`postgresql`, `rqworker` or `rqscheduler`. + + +## Deploy + +The recommended way for deploy is on Kubernetes. You can find the related files +in `k8s` directory. + +- One time deploy + +```sh +# Deploy ingress +kubectl apply -f k8s/ingress/ingress-https.yaml + +# Deploy Postgres and Redis DB +kubectl apply -f k8s/app/redis.yaml +kubectl apply -f k8s/app/postgres.yaml + +# Deploy Backend +kubectl apply -f k8s/app/backend.yaml +kubectl apply -f k8s/app/rqworker.yaml +kubectl apply -f k8s/app/rqscheduler.yaml + +# Deploy Frontend +kubectl apply -f k8s/app/frontend.yaml +``` + +- Subsequent deploys can be done by rolloing out a restart since all pods have a `imagePullPolicy` set to Always + +```sh +# Push containers to Docker Hub and Deploy to K8s +./prod-deploy.sh +``` + + +## License + +The code in this repository has been released under the [GNU Affero General Public License v3](https://www.gnu.org/licenses/agpl-3.0.en.html) + + +## Attributions + +- [Bullish icon](./.assets/images/bullish.png) made by [Freepik](https://www.freepik.com) from [Flaticon](https://www.flaticon.com) +