Skip to content
This repository has been archived by the owner on Sep 11, 2022. It is now read-only.

cal-overflow/pacman-overflow

Repository files navigation

Pac-Man Overflow

An attempt at a Multiplayer Pac-Man game. This project has been archived since Namco requested that the site be taken down while the project was still in beta.

Learn more about the project via this blog post or these dev log videos.

Running locally

Recommended software

Build setup

Run development locally

# ensure node version is correct
$ nvm use

# install dependencies
$ npm install

# run in development mode (localhost:3000)
$ npm run dev

Run unit tests

Unit tests are implemented with Jest.

$ npm run test

Docker

You may find docker builds for each release on docker hub.

Build the docker image with

docker build -t <image-name> .

Run the docker container with

docker run <image-name>

See additional options here.

Deploying the application

1. Create an IAM Role

In your AWS Account, create a new IAM Role with the permissions you deem necessary. This must include Cloudformation and EC2. Refer to GitHub's docs for Configuring OpenID Connect in AWS for guidance.

2. Create an SSH keypair on AWS

See AWS Create key pairs documentation.

3. Create a DockerHub account and access token

DockerHub is used as the artifactory for storing Docker images.

Create an access token with read/write access.

4. Add essential secrets to your GitHub repository.

Add the following secrets via Repository settings > Secrets > Actions.

  • IAM_ROLE_ARN containing your IAM Role ARN from step 1.
  • SSH_PRIVATE_KEY containing the value inside the keyfile generated in step 2.
  • DOCKERHUB_USERNAME containing your DockerHub username.
  • DOCKERHUB_TOKEN containing your DockerHub token.

5. Trigger a deploy

To trigger a deploy, simply commit changes to the master branch.