# Satoshi's Rice ###### tags: `documentation` `development` :::info **Purpose:** - This document is used for documenting the development process of Satoshi's Rice livestreaming platform. **Resources:** - [GitHub Repository](https://github.com/satoshisrice/satoshisrice) ::: ## Table of Contents [TOC] ## Development Progress Notes ### 28/10/2020 ```bash # Save credentials locally gcloud container clusters get-credentials cluster-helloworld --zone asia-east1-b # Build the docker image docker build -t gcr.io/satoshis-rice-live/hello-app:v1 $PWD # Authenticate docker and push image # Source: https://cloud.google.com/container-registry/docs/support/deprecation-notices#gcloud-docker gcloud auth configure-docker docker -- push gcr.io/satoshis-rice-live/hello-app:v1 # Run application kubectl create deployment hello-app --image=gcr.io/satoshis-rice-live/hello-app:v1 # Expose application to public kubectl expose deployment hello-app --type="LoadBalancer" --port 8080 # Find external IP kubectl get service hello-app --watch # Scale application kubectl scale deployment hello-app --replicas=4 # View application settings kubectl get deployment kubectl get pods # Update and push image docker build -t gcr.io/satoshis-rice-live/hello-app:v2 $PWD docker -- push gcr.io/satoshis-rice-live/hello-app:v2 kubectl set image deployment/hello-app hello-app=gcr.io/satoshis-rice-live/hello-app:v2 ``` ### 09/11/2020 **Agenda** - [ ] Implement RTMP between client and server **Notes** - Inject: RTMP Between web client and server. - Transcode: [Shaka packager](https://github.com/google/shaka-packager) - Distribute: MPEG-DASH on CDN. - Player: [Saka player](https://github.com/google/shaka-player) ### 21/11/2020 **Agenda** - [ ] Implement RTMP between client and server - [ ] Learn to use yarn for frontend development dependency management **Notes** - Should we use RTMPT (RTMP encapsulated within HTTP(s) requests) ??? - Maybe we should use WebRTC for client -> server ??? - YARN or NPM for frontend development.