56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
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.
|