Bullish - A simple Vue webapp to explore Bhav Copy Data https://bullish.codingcoffee.me
Find a file
Ameya Shenoy 9dcb52c002
docs: prod architecture diagram
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2021-02-12 16:57:49 +05:30
.assets/images docs: prod architecture diagram 2021-02-12 16:57:49 +05:30
backend feat: working prod deploy with duplicate code 2021-02-12 03:26:27 +05:30
frontend fix: potential phising attack 2021-02-12 16:28:26 +05:30
k8s feat: working prod deploy with duplicate code 2021-02-12 03:26:27 +05:30
dev.env chore: pick backend settings from env vars 2021-02-11 22:43:00 +05:30
docker-compose.yml feat: productionize images for deploy 2021-02-12 00:58:26 +05:30
LICENSE.txt feat: initial commit with todo and license 2021-02-09 01:37:51 +05:30
prod-build.sh feat: productionize images for deploy 2021-02-12 00:58:26 +05:30
prod-deploy.sh chore: script for deploy 2021-02-12 15:54:29 +05:30
README.md docs: prod architecture diagram 2021-02-12 16:57:49 +05:30
TODO.org docs: update TODO 2021-02-11 18:08:20 +05:30

License: AGPL v3

Backend: Docker Pulls - Backend Docker Image Size Backend (tag)

Frontend Docker Pulls - Frontend Docker Image Size Frontend (tag)

Usage

  • Local setup is supported via Docker Compose
docker-compose up -d

Build

  • Build images for dev
docker-compose build
  • Build images for prod
./prod-build.sh

Logging

To get the logs of all containers

docker logs -f

To get the logs of a particular container

docker logs -f container-name

Here container-name can be either of backend, frontend, redis, postgresql, rqworker or rqscheduler.

Deploy

Production Architecture

The recommended way for deploy is on Kubernetes. You can find the related files in k8s directory.

  • One time deploy
# 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
# 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

Attributions