Giter VIP home page Giter VIP logo

mattbutterfield_webrtc_go's Introduction

My personal website.

mattbutterfield.com

Development

Local

The main dependencies are: Postgres, Go, Docker, and Node. The website is deployed on GCP.

To get started, run:

make test

Getting a prod db dump:

cloud_sql_proxy must be installed first. Then run:

./cloud_sql_proxy -dir=/var/cloudsql

From another terminal, pg_dump can now be run (this will require the db password):

pg_dump -h /var/cloudsql/mattbutterfield:us-central1:mattbutterfield -U mattbutterfield mattbutterfield > dump.sql

Now the local database can be set up and the data loaded:

make reset-db

Running the server

Init some env variables in case we want to use the pubsub emulator:

$(gcloud beta emulators pubsub env-init)

Now the server can be started and accessed at http://localhost:8000/:

make run-server

The pubsub emulator can optionally be started for testing video chat locally:

gcloud beta emulators pubsub start --project=mattbutterfield

Building the Docker Images

To build the docker images:

make docker-build

To run the server image locally:

docker run -e DB_SOCKET=host=host.docker.internal\ dbname=mattbutterfield\ user=matthewbutterfield \
       -e PUBSUB_EMULATOR_HOST=host.docker.internal:8085 \
       -e AUTH_TOKEN=1234 \
       -dp 8000:8000 gcr.io/mattbutterfield/mattbutterfield.com

Deployment

Running make deploy will build the docker images, push them to GCR and deploy them as Cloud Run services.

Connecting to the Cloud SQL instance will get you into a psql shell where you can edit the schema and data as needed:

gcloud beta sql connect mattbutterfield --user=mattbutterfield --database=mattbutterfield --quiet

mattbutterfield_webrtc_go's People

Contributors

daz avatar fleeting avatar jcn avatar jogjayr avatar koomar avatar m-butterfield avatar nolith avatar philips avatar plusjade avatar pradeep1288 avatar sdball avatar segfaultax avatar sstarr avatar studiomohawk avatar tommyblue avatar vattay avatar xtine avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.