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) +