Skip to content

jonepl-portfolio/web-portfolio

Repository files navigation

My Web Portfolio

This repository contains the Web Portfolio for the hosted applications. The Web Portfolio is written in Vite within a NodeJS mail server. These services are designed to be integrated within a Docker Swarm instance to serve my personal web portfolio.

Design


This web portfolio runs an Nginx web server to host the static files within a docker container. The docker-compose file is meant to be used within a docker-swarm instance.

Prerequisites

  • NodeJS
  • NGINX

Usage

This web portfolio uses a NodeJS mail server which you must configured to send emails.

  • Read name .env.local.config.example to .env.local.config and update PORT value if needed

  • Read name .env.local.secret.example to .env.local.secret and provide the

    # Email server
    SERVICE="yahoo"
    
    # Sender's email address
    EMAIL_USER="[email protected]"
    
    # Email Application Password
    EMAIL_PASS="mypassword"
    
    # Recipient's email address
    FORWARD_EMAIL_USER="[email protected]"
    

Running Dev Locally

  1. Open a terminal shell and run make start-server-dev
  2. Open a second terminal and run start-portfolio-dev
  3. Access web portfolio via http://localhost:4000

Running Docker Swarm Locally

  1. Build the mock server with make build-mock-server
  2. Start mock server with make start-mock-server
  3. Access web portfolio via http://localhost

NOTE: The above steps will simulate a remote server. An entrypoint.sh script will initialize Docker Swarm, create networks, secrets, configs, build images and start the web portfolio services. The application should be accessible via port 80.

Pre-Merge Checklist