Personal website built with React, TypeScript, webpack, and babel. It is built and served with Docker.
The src directory contains the frontend React app. This is built into a build directory. The static directory contains raw files to serve. The app.js file runs the web server.
Hosted on AWS with ECR, EC2, CloudFront, and Route 53. Check it out at https://thomasmonfre.com.
For those interested in running the project locally, follow these instructions:
- Ensure you have Node.js installed.
- Clone the repository.
- Install dependencies:
npm i. - Run locally with
npm start. - Test production mode with
npm run build && node app.js.
- Ensure you have Docker installed and running.
- Build the docker image with
docker build -t personalwebsite . - Push the docker image to your container registry of choice (I am using AWS ECR). You may need to tag it here.
- Pull the docker image on a remote server (I am using AWS EC2).
- Start a container for that image on your remote server:
docker run -d -p 80:8080 [image_name] - Point your DNS service of choice (I am using AWS Route 53) to the remote server (this should be a one-time step).
If you wish to use this repository as a template for a personal website architecture, feel free to do so, but please link back to me with proper credit. Thanks!