feat: add home-assistant-dashboard-conventions skill + update multiple skills
- New: smart-home/home-assistant-dashboard-conventions (Mushroom cards, view tabs, no Bubble Cards) - Updated: rke2, ceph, galera, proxmox, brainstorming, compound-learning, 1password-cli, smart-home-automation skills - New references: ceph-cluster-administration, docker-volume-forensics, ceph-crush-weight, ceph-ec-mixed-size
This commit is contained in:
@@ -775,8 +775,71 @@ base64 breaks when passed through `echo` in sh. On macOS, use
|
||||
|
||||
---
|
||||
|
||||
## Section 9: Portainer Stack Discovery
|
||||
|
||||
### 9.1 Finding Portainer-Managed Compose Files
|
||||
|
||||
Portainer stores versioned stack compose files in the `portainer_data`
|
||||
Docker volume. When investigating what services a Portainer-managed Docker
|
||||
host ran (or still runs), check these locations:
|
||||
|
||||
**Location 1: `/data/compose/`** (sparse, older stacks)
|
||||
```bash
|
||||
ls -la /data/compose/
|
||||
```
|
||||
|
||||
**Location 2: `/var/lib/docker/volumes/portainer_data/_data/compose/`** (canonical)
|
||||
```bash
|
||||
ls -la /var/lib/docker/volumes/portainer_data/_data/compose/
|
||||
```
|
||||
|
||||
Each stack is a numbered directory (e.g. `1/`, `7/`, `14/`) containing
|
||||
versioned subdirectories (`v1/`, `v2/`, `v3/`, ...) with `docker-compose.yml`.
|
||||
|
||||
### 9.2 Reading the Latest Version of Each Stack
|
||||
|
||||
```bash
|
||||
for d in /var/lib/docker/volumes/portainer_data/_data/compose/*/; do
|
||||
sid=$(basename $d)
|
||||
latest=$(ls -d ${d}v*/ 2>/dev/null | sort -V | tail -1)
|
||||
if [ -n "$latest" ]; then
|
||||
echo "=== STACK $sid ($(basename $latest)) ==="
|
||||
cat "${latest}"* 2>/dev/null
|
||||
echo ""
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
### 9.3 Portainer DB Location
|
||||
|
||||
Portainer's BoltDB database lives at:
|
||||
```
|
||||
/var/lib/docker/volumes/portainer_data/_data/portainer.db
|
||||
```
|
||||
|
||||
This stores stack metadata, user configs, and environment settings. It does
|
||||
NOT store volume data — only Portainer's own configuration.
|
||||
|
||||
### 9.4 Portainer Backups
|
||||
|
||||
Portainer creates timestamped backups at:
|
||||
```
|
||||
/var/lib/docker/volumes/portainer_data/_data/backup/
|
||||
```
|
||||
|
||||
Each backup directory contains `portainer.db`, `compose/` (copy of stack
|
||||
files), `certs/`, and optionally a `.tar.gz` archive. These backups contain
|
||||
Portainer configuration only — NOT Docker volume data.
|
||||
|
||||
**Reference:** `references/docker-volume-forensics-2026-07.md` — full
|
||||
session detail of searching for lost InfluxDB v1 data on 10.0.30.100,
|
||||
including Portainer stack discovery and volume forensics.
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- `references/10.0.30.100-decommission.md` — Session-specific detail: 10-service removal, GitLab+Runner cleanup, InfluxDB/HA volume deletion, ZFS dataset issues
|
||||
- `references/10.0.30.100-docker-analysis-2026-07.md` — Docker analysis on 10.0.30.100: 811 GB ZFS-backed Docker with 735 subdatasets, corrupt ZFS graphdriver, daemon permanently stuck in `activating`, image/volume inventory, duplicate identification
|
||||
- `references/10.0.30.100-seafile-mailserver-inventory-2026-07.md` — Seafile (226 GB, 5 MySQL instances) and Mailserver (~850 MB, unusual no-_data volume structure) inventory with measurement techniques for ZFS-under-I/O-load conditions
|
||||
- `references/docker-volume-forensics-2026-07.md` — Searching for lost InfluxDB v1 data on a Docker host: 121 anonymous volumes, ZFS datasets, bind mounts, Portainer DB forensics. Techniques for tracing deleted container data.
|
||||
|
||||
Reference in New Issue
Block a user