Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/maciekiwaniuk/portfolio
- Owner: maciekiwaniuk
- Created: 2022-06-16T18:11:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-05T21:44:16.000Z (24 days ago)
- Last Synced: 2024-12-05T22:27:09.748Z (24 days ago)
- Topics: 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
- Language: Vue
- Homepage: https://maciekiwaniuk.pl
- Size: 14.5 MB
- Stars: 4
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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/DockerfileThe 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 -dThe 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