diff --git a/README.md b/README.md index d607f8d..ef9391a 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/blog.html b/blog.html index 4651bfb..7c8a976 100644 --- a/blog.html +++ b/blog.html @@ -3,7 +3,7 @@
-SearXNG, Kiwix, Trilium, Homarr
+Photo gallery, server lab imagery, thumbnails, and image delivery.
+NTP server, UISP (UniFi OS Server)
@@ -82,7 +86,7 @@May require authentication:
This is the server running it all
+
+ If you'd like to discuss a role, contract, or collaboration, please reach out via email: marcus.sailer@organic-server.org.
@@ -100,7 +110,7 @@ diff --git a/styles.css b/styles.css index 1199a43..3cb696d 100644 --- a/styles.css +++ b/styles.css @@ -13,6 +13,7 @@ body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neu h2 { margin:32px 0 16px 0; font-size:1.8rem; font-weight:700; color:#7f1d1d; padding-bottom:12px; border-bottom:2px solid #fee2e2; } h3 { margin:0 0 8px 0; font-size:1.1rem; font-weight:600; color:#7f1d1d; } section { margin-bottom:16px; } +.lab-photo { display:block; width:100%; max-width:420px; margin-top:16px; border-radius:10px; border:1px solid #e5e7eb; box-shadow:0 8px 24px rgba(139,18,18,0.12); } p { margin:0 0 12px 0; } ol, ul { margin:12px 0; padding-left:24px; } li { margin-bottom:8px; } diff --git a/the server.jpg b/the server.jpg new file mode 100644 index 0000000..5693d22 Binary files /dev/null and b/the server.jpg differ