push
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user