Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maciekiwaniuk/portfolio

👋 Portfolio website made in TypeScript with Nuxt and Vue using Composition API
https://github.com/maciekiwaniuk/portfolio

accessibility composition-api dark-light-mode deployment docker i18n iconify jest less multi-language nuxt pinia portfolio portfolio-vuejs portfolio-website typescript vue-test-utils vue3 vuejs

Last synced: 18 days ago
JSON representation

👋 Portfolio website made in TypeScript with Nuxt and Vue using Composition API

Awesome Lists containing this project

README

        

# Portfolio ![](https://github.com/maciekiwaniuk/portfolio/blob/main/public/img/icons/favicon-32x32.png?raw=true)

![image](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
![image](https://img.shields.io/badge/Vue%20js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D)
![image](https://img.shields.io/badge/nuxt%20js-00C58E?style=for-the-badge&logo=nuxtdotjs&logoColor=white)
![image](https://img.shields.io/badge/Sass-CC6699?style=for-the-badge&logo=sass&logoColor=white)
![image](https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white)

## Deployment

Deployment uses GitHub Actions to build and push Docker images to Docker Hub.

The Docker images to build are located in:

docker/frontend/prod/Dockerfile
docker/nginx/prod/Dockerfile

The Nginx configuration is in:

docker/nginx/prod/nginx.conf

Deployment is set up to be served on a VPS, which supports IPv4, IPv6, or both.

After the build completes and images are pushed to Docker Hub, the deployment step is triggered:

cd ~/apps/portfolio
git pull
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml down
docker compose -f docker-compose.prod.yml up -d

The application should be cloned beforehand into the `/apps/portfolio` directory.

#### Required Secret Variables

The following secret variables must be included in the project repository to enable deployment:

- `DOCKERHUB_USERNAME`: Docker Hub account username
- `DOCKERHUB_PASSWORD`: Docker Hub account password
- `SSH_HOST`: The VPS host address
- `SSH_PORT`: The port for SSH access to the VPS
- `SSH_USERNAME`: The username for SSH access to the VPS
- `SSH_KEY`: The private SSH key for authenticating to the VPS