This commit is contained in:
2026-07-09 11:53:06 +02:00
parent dfa7ef98ef
commit 452a9ea0db
10 changed files with 46 additions and 39 deletions
+21 -18
View File
@@ -4,14 +4,14 @@ 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
sudo mkdir -p /var/www/html
sudo cp -r . /var/www/html/
sudo chown -R www-data:www-data /var/www/html
2. Place the nginx server block (nginx/marcus_allison.conf) into `/etc/nginx/sites-available/` and enable it:
2. Configure nginx with your own server block 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/
sudo cp /path/to/your/site.conf /etc/nginx/sites-available/website-but-better
sudo ln -sf /etc/nginx/sites-available/website-but-better /etc/nginx/sites-enabled/
3. Test nginx config and reload:
@@ -21,41 +21,44 @@ Quick deploy instructions for an nginx host (Debian/Ubuntu):
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
sudo certbot --nginx -d yourdomain.example.com -d www.yourdomain.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).
- Replace `yourdomain.example.com` with your real domain.
- Update contact email in `index.html`.
- The homepage uses `the server.jpg` as a small lab snapshot; formal photography should live in `images/`.
Photography gallery:
- To regenerate `images/manifest.json` after adding/removing photos, run:
- To regenerate `images/manifest.json` after adding or removing photos, run:
```bash
python3 scripts/generate_manifest.py
py -3 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/;
alias /var/www/html/images/;
autoindex on;
}
```
Blog support:
- Add plain text files to the `blog/` directory. Supported extensions are `.txt` and `.text`. Each file should start with a date/time line, then a title line, then the body.
- Add plain text files to the `blog/` directory. Supported extensions are `.txt` and `.text`.
- Each file should start with a date/time line, then a title line, then the body.
- To attach a file, place it in `blog/files/` and reference it in the post with `[[file: filename.ext]]` or `[[attachment: filename.ext]]`.
- Run `python3 scripts/generate_blog_manifest.py` from the project root to refresh `blog/manifest.json` after adding or removing posts.
- Run `py -3 scripts/generate_blog_manifest.py` from the project root to refresh `blog/manifest.json` after adding or removing posts.
Git sync:
- Use `./scripts/sync_site.sh` from the website root to pull changes from Git via HTTP.
- The default remote is `https://git.organic-server.org/organic-CPU/website-but-better.git` and the branch is `main`.
- By default it deploys to `/var/www/html`, which is the default nginx document root on most Linux distributions.
- Run the sync script from anywhere by invoking the repo script path, for example `./scripts/sync_site.sh` from the repo root or `/path/to/website-but-better/scripts/sync_site.sh` from another directory.
- The script uses its own location to find the repo root, so it does not need to be started from the web root.
- The default remote is `https://git.organic-server.org/organic-CPU/website-but-better.git` and the default branch is `main`.
- By default it deploys to `/var/www/html`.
- Override with `GIT_REPO_URL`, `GIT_BRANCH`, or `DEPLOY_DIR` if needed.
Automatic sync every 12 hours:
@@ -68,7 +71,7 @@ sudo systemctl daemon-reload
sudo systemctl enable --now sync_site.timer
```
This makes the website sync twice per day and deploy the latest files to nginx root.
This makes the website sync twice per day and deploy the latest files to the nginx root.
Editing the Git link:
- Update the header Git link in `index.html` at the element with id `git-link` to your repository URL.