Marcus Allison — Portfolio (Static site) Quick deploy instructions for an nginx host (Debian/Ubuntu): 1. Copy files to the web root on the server: sudo mkdir -p /var/www/marcus sudo cp -r "*" /var/www/marcus/ # run from the project folder or copy files individually sudo chown -R www-data:www-data /var/www/marcus 2. Place the nginx server block (nginx/marcus_allison.conf) into `/etc/nginx/sites-available/` and enable it: sudo cp "nginx/marcus_allison.conf" /etc/nginx/sites-available/marcus_allison sudo ln -s /etc/nginx/sites-available/marcus_allison /etc/nginx/sites-enabled/ 3. Test nginx config and reload: sudo nginx -t sudo systemctl reload nginx 4. (Optional) Provision HTTPS with Certbot (Let's Encrypt): sudo apt update && sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d portfolio.example.com -d www.portfolio.example.com 5. Docker alternative (serve static site with nginx container): docker run --rm -p 80:80 -v "$(pwd):/usr/share/nginx/html:ro" nginx:stable Customize: - Replace `portfolio.example.com` with your real domain. - Update contact email in `index.html` (now set to marcus.sailer@organic-server.org). Photography gallery: - To regenerate `images/manifest.json` after adding/removing photos, run: ```bash python3 scripts/generate_manifest.py ``` - Alternatively, enable Nginx directory listing for `/images/` so the site can probe the directory. Example server block fragment for `/images/` only: ``` location /images/ { alias /var/www/marcus/images/; autoindex on; } ``` Editing the Git link: - Update the header Git link in `index.html` at the element with id `git-link` to your repository URL. If you want, I can also: - Add a Docker Compose service for a static site + automatic certs. - Produce a small resume/JSON-LD metadata file for SEO.