Mattbutterfield.com Save

My personal website

Project README

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
Open Source Agenda is not affiliated with "Mattbutterfield.com" Project. README Source: m-butterfield/mattbutterfield.com
Stars
40
Open Issues
4
Last Commit
1 month ago

Open Source Agenda Badge

Open Source Agenda Rating