Portfolio Presentation
I had been thinking about creating a portfolio for a while, but I wasn’t sure what form it should take or how to build it. When I recently came across Hugo again, which I had seen before, I felt like giving it a try. While exploring the themes, I discovered PaperMod, and thought: “Why not?” It was the perfect opportunity to discover a new tool.
This portfolio is meant to showcase my projects, going beyond simple GitHub READMEs. I want to present more technical details, share some experiences, and maybe occasionally write a few articles. I will also try to include some of my older projects.
Installation and Deployment
I started by installing Hugo and running a few local tests. I took the PaperMod template and customized it to suit my needs.
Once the basic setup was done, I moved on to deployment. I already own a NAS where I host several services, so I decided to deploy the site in an NGINX container via Docker Compose.
services:
nginx-portfolio:
image: nginx:alpine
container_name: nginx-portfolio
restart: unless-stopped
volumes:
- $DOCKERDIR/appdata/nginx/portfolio/site:/usr/share/nginx/html
networks:
- socket_proxy
- t3_proxy
For routing, I use my existing Traefik setup. I just had to add a few labels for everything to work automatically.
labels:
- "traefik.enable=true"
# HTTP Routers
- "traefik.http.routers.nginx-portfolio-rtr.entrypoints=websecure"
- "traefik.http.routers.nginx-portfolio-rtr.rule=Host(`leo.$DOMAINNAME_1`)"
# Middlewares
- "traefik.http.routers.nginx-portfolio-rtr.middlewares=chain-no-auth@file"
# HTTP Services
- "traefik.http.routers.nginx-portfolio-rtr.service=nginx-portfolio-svc"
- "traefik.http.services.nginx-portfolio-svc.loadbalancer.server.port=80"
As for updating the files, for now, I’m sticking with a simple approach, after each modification, I build the site locally and then transfer the generated files to the NAS.