---
# System prepended metadata

title: Satoshi's Rice
tags: [development, documentation]

---

# 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.