Files
portfolio/DEPLOY.md

3.4 KiB

Portfolio Landing Page + Git Instance Visuals

Architecture

  • Root domain (https://gabrielpereira.me/) → Portfolio landing page
  • Git subdomain (https://git.gabrielpereira.me/) → Gitea/Forgejo instance

This separation means visitors hit the curated portfolio first, then choose which repository to explore.


1. Portfolio Landing Page

The file index.html is a self-contained, single-file portfolio landing page.

GitHub Pages

  • Create repo gabrielpereira/gabrielpereira.me
  • Commit index.html as the repo root (or in /docs folder)
  • Enable Pages → deploy from root (or /docs)
  • In repo Settings → Pages, add custom domain gabrielpereira.me
  • Add DNS A record pointing to GitHub Pages IPs

Cloudflare Pages

  • Drag index.html into Cloudflare Pages dashboard
  • Custom domain: gabrielpereira.me

Netlify / Vercel

  • Drag the portfolio/ folder into deploy UI
  • Set custom domain to gabrielpereira.me

Deployment: Self-Hosted (Nginx/Caddy)

Place index.html at:

/var/www/gabrielpereira.me/index.html

Nginx config:

server {
    listen 443 ssl;
    server_name gabrielpereira.me;
    root /var/www/gabrielpereira.me;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

server {
    listen 443 ssl;
    server_name git.gabrielpereira.me;

    location / {
        proxy_pass http://localhost:3000;  # your Gitea/Forgejo
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Caddyfile:

gabrielpereira.me {
    root * /var/www/gabrielpereira.me
    file_server
}

git.gabrielpereira.me {
    reverse_proxy localhost:3000
}

2. Gitea / Forgejo Visual Improvements

The file git-custom-header.html contains both CSS overrides and an HTML banner.

How to apply

Forgejo / Gitea v1.20+ (Admin Panel)

  1. Log in as admin → Site Administration → Customizations
  2. Paste the <style> block into "Custom Header" (or "Custom CSS" if available)
  3. If your version supports HTML injection, also paste the banner <div> block
  4. Save

Direct file (self-hosted server access) Create the custom templates directory for your instance:

# For Gitea/Forgejo installed from package
sudo mkdir -p /etc/gitea/templates/custom

# Or if installed from binary in /opt
sudo mkdir -p /opt/gitea/custom/templates/custom

Create header.tmpl:

sudo tee /etc/gitea/templates/custom/header.tmpl << 'EOF'
{{/* Paste the contents of git-custom-header.html here */}}
EOF

Restart Gitea/Forgejo:

sudo systemctl restart gitea
# or
sudo systemctl restart forgejo

What the CSS changes

  • Darker, more cohesive color palette matching the portfolio page
  • Repository cards with rounded corners and hover effects
  • Better typography and spacing
  • A subtle "Open Evidence" badge concept on the homepage
  • Improved navbar and footer styling

3. DNS Configuration

Record Type Target
gabrielpereira.me A Your static host IP (GitHub Pages / server / CDN)
git.gabrielpereira.me CNAME or A Your Gitea/Forgejo server

Files

File Purpose
index.html Portfolio landing page (single file, no build step)
git-custom-header.html CSS + HTML for Gitea/Forgejo customizations
DEPLOY.md This file — deployment instructions