owncloud: document and fix organize_photos.sh folder structure
- Add full header doc block explaining purpose, patterns, and scheduling - Inline comments on all functions and both processing passes - Fix folder format: YYYY/YYYY-MM/ → YYYY/MM/ (year was redundant in subfolder) - Add pass 2: migrate existing YYYY/YYYY-MM/ folders to YYYY/MM/ - Pass 1 now also handles Android-app pre-sorted YYYY/MM/ videos correctly Also commit pending doc updates: - README.md: remove Kopia stack, add ntfy entry, fix infrastructure.caddy note - authentik/SETUP-GUIDE.md: add Mealie OIDC setup notes - homelab-overview.md: remove Kopia refs, add Vaultwarden, fix TrueNAS/PBS wording
This commit is contained in:
+5
-6
@@ -82,7 +82,7 @@ Proxmox runs all the VMs and LXC containers listed below. Backups are handled by
|
||||
| Name | IP | Role |
|
||||
|---|---|---|
|
||||
| jgpc | 192.168.88.41 | Workstation / AI / Ollama (bare metal, not a Proxmox guest) |
|
||||
| TrueNAS | 192.168.88.24 | NAS — provides NFS storage for Kopia backups; separate physical machine |
|
||||
| TrueNAS | 192.168.88.24 | NAS — provides NFS storage for PBS backups; separate physical machine |
|
||||
|
||||
---
|
||||
|
||||
@@ -96,7 +96,7 @@ Config location on the Caddy VM: `/etc/caddy/`
|
||||
|---|---|
|
||||
| `Caddyfile` | Main entry point — global options, imports all site files |
|
||||
| `snippets.caddy` | Reusable blocks: `web_secure`, `internal_only`, `proxy_timeouts` |
|
||||
| `sites/infrastructure.caddy` | Management tools (Portainer, Grafana, Pi-hole, Kopia, etc.) |
|
||||
| `sites/infrastructure.caddy` | Management tools (Portainer, Grafana, Pi-hole, etc.) |
|
||||
| `sites/media.caddy` | Media stack (Jellyfin, Sonarr, Radarr, Nextcloud, etc.) |
|
||||
| `sites/homenet.caddy` | Internal `.homenet` HTTP-only domains |
|
||||
| `sites/goldengamer.caddy` | External `goldengamer.org` domain |
|
||||
@@ -137,13 +137,13 @@ All stack data volumes are stored at `/srv/docker/<stack-name>/` on each host us
|
||||
| Karakeep | karakeep:release | 3010 | notes.jgitta.com | Bookmarks / read-later |
|
||||
| Linkwarden | linkwarden:latest | 3015 | links.jgitta.com | Link manager |
|
||||
| Gitea | gitea:latest | 3002, 2222 | gitea.jgitta.com | Self-hosted Git server |
|
||||
| Kopia | kopia:latest | 51515 | kopia.jgitta.com | Backup tool → TrueNAS NFS |
|
||||
| Actual Budget | actual-budget | 5006 | budget.jgitta.com | Personal budget tracking |
|
||||
| WordPress | wordpress:php8.3-apache | 8095 | jgitta.com | Personal website |
|
||||
| WordPress DB | mariadb:10.11 | 3306 (internal) | — | WordPress database |
|
||||
| Grav | linuxserver/grav:latest | 8585 | — | Flat-file CMS |
|
||||
| Watchtower | containrrr/watchtower | — | — | Auto-updates containers (excludes Pi-hole) |
|
||||
| GoldenGames | goldengames (local build) | 3030 | goldengamer.org | Gaming site |
|
||||
| Vaultwarden | vaultwarden/server:latest | 8222 (web), 3012 (websocket) | vault.jgitta.com | Self-hosted Bitwarden-compatible password manager |
|
||||
|
||||
---
|
||||
|
||||
@@ -223,7 +223,6 @@ Prometheus scrapes **Node Exporter** (port 9100) from every host: siklos, proxmo
|
||||
| All VMs/CTs (except 107) | PBS job `pbs-backup` | Mon/Wed/Fri 21:00 | PBS datastore `pbs-store` (TrueNAS NFS) |
|
||||
| VMs 113 (photos) + 114 (ocis) | PBS job `B2 offsite` | Sun 03:00 | PBS datastore `b2-offsite` → Backblaze B2 |
|
||||
| PBS configuration | Cron on PBS VM | Nightly 02:30 | TrueNAS NFS (`pbs-config-backup/`) |
|
||||
| Nextcloud data | Kopia (Docker on siklos) | — | TrueNAS NFS |
|
||||
| Docker configs | Gitea repo | — | `jgitta/homelab-configs` |
|
||||
|
||||
### PBS (VM 107, 192.168.88.60) — verified 2026-07-14
|
||||
@@ -231,7 +230,7 @@ Prometheus scrapes **Node Exporter** (port 9100) from every host: siklos, proxmo
|
||||
PBS has two datastores:
|
||||
|
||||
- **`pbs-store`** — local path `/mnt/pbs-dataset/pbs-store`, which is an NFS mount from TrueNAS (`192.168.88.24:/mnt/pool1/pbs-dataset`). Receives the Mon/Wed/Fri full-fleet backups. Retention: keep-daily=7, keep-weekly=4, keep-monthly=3.
|
||||
- **`b2-offsite`** — S3 backend pointing at Backblaze bucket `jg-kopia` (endpoint `s3.us-east-005.backblazeb2.com`), local cache at `/pbs-data`. Receives the Sunday 3 AM backups of VMs 113 and 114 only. This replaced the old Kopia → B2 workflow. Retention: keep-daily=7, keep-weekly=2.
|
||||
- **`b2-offsite`** — S3 backend pointing at Backblaze bucket `jg-kopia` (endpoint `s3.us-east-005.backblazeb2.com`), local cache at `/pbs-data`. Receives the Sunday 3 AM backups of VMs 113 and 114 only. Retention: keep-daily=7, keep-weekly=2.
|
||||
|
||||
**Finding data in the Backblaze web UI:** browse `jg-kopia` bucket → `b2-offsite/` folder → `.chunks/`. PBS deduplicates, so weekly runs upload only new/changed chunks — sparse upload activity between Sundays is normal. Verify connectivity from the pbs host with: `proxmox-backup-manager s3 check backblaze-b2 jg-kopia`
|
||||
|
||||
@@ -255,5 +254,5 @@ PBS has two datastores:
|
||||
| Immich | https://photos.jgitta.com |
|
||||
| AI (Open WebUI) | https://ai.jgitta.com |
|
||||
| Guacamole | https://apache.jgitta.com |
|
||||
| Kopia | https://kopia.jgitta.com |
|
||||
| Vaultwarden | https://vault.jgitta.com |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user