ansible/docs/guides/nextcloud-export-2026-05-21.md
ilia 8a507eddee
Some checks failed
CI / skip-ci-check (pull_request) Successful in 7s
CI / lint-and-test (pull_request) Successful in 12s
CI / ansible-validation (pull_request) Failing after 5s
CI / secret-scanning (pull_request) Successful in 6s
CI / dependency-scan (pull_request) Successful in 8s
CI / sast-scan (pull_request) Failing after 6s
CI / license-check (pull_request) Successful in 10s
CI / vault-check (pull_request) Failing after 5s
CI / playbook-test (pull_request) Failing after 6s
CI / container-scan (pull_request) Failing after 6s
CI / sonar-analysis (pull_request) Failing after 3s
CI / workflow-summary (pull_request) Successful in 5s
Fix CI: ansible-lint playbook schema and markdownlint for new guides.
Use ansible.builtin.su, spaces in caddy blockinfile, relax MD060/MD036
and line length for homelab documentation tables.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 17:10:33 -04:00

135 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Nextcloud export — 2026-05-21
**Instance:** [https://nextcloud.levkin.ca](https://nextcloud.levkin.ca) (Nextcloud AIO, VM 201 on pve10)
**Backend IP:** `10.0.10.24:11000` (Caddy → `10.0.10.50`)
**Inventory note:** `inventories/production/hosts` still lists `10.0.10.25`**stale**; use `.24` for SSH/API work.
Exports saved locally (not for git): `exports/nextcloud-2026-05-21/`
---
## Summary
| Data type | Result |
|-----------|--------|
| **Notes app** | API returned `[]` for admin; `Notes/` folder empty for all users checked |
| **Bookmarks app** | REST API paths return **404** (HTML login page) — **no server-side export via API** |
| **Forms app** | API returned **`data: []`** — no forms defined under admin |
| **Files (WebDAV)** | Most users have **empty** home dirs; **admin** has default demo files + one shared note |
| **Deck** | Exported JSON for admin “Personal” board (example tasks only) |
**Conclusion:** There is very little user content on this instance. The only non-demo note-like file found was **`Shared/angela's.md`** (grocery list). If Ilia/Ira/Tanya used Notes/Bookmarks/Forms, data is likely under their accounts in the **web UI only** (DB) or was never created here.
---
## Users on the server
`admin`, `GM`, `Ilia`, `Ira`, `OpenProject`, `Tanya`
| User | Files (WebDAV) | Quota used |
|------|----------------|------------|
| admin | Demo docs, empty `Notes/`, `Shared/angela's.md` | minimal |
| **Ilia** | **Empty tree** in Files — see below | **~76.4 MB** |
| Ira, Tanya, GM, OpenProject | **Empty** (root folder only) | — |
---
## Ilia — full check (2026-05-21)
| Field | Value |
|-------|--------|
| **Login** | `Ilia` |
| **Email** | `idobkin@gmail.com` |
| **Display name** | Ilia |
| **Groups** | `admin` |
| **Storage path** | `/mnt/ncdata/Ilia` (on AIO host) |
| **Quota used** | **80,097,632 bytes (~76.4 MB)** |
| **Last login** | Recent (timestamp `1779414932`) |
### Per app (API as admin)
| App | Export result |
|-----|----------------|
| **Notes** | `[]` — no notes via API v0.2 / v1.3 / v1.4 |
| **Forms** | `[]` — no forms |
| **Bookmarks** | API **404** — cannot export programmatically |
| **Files / WebDAV** | Only `/remote.php/dav/files/Ilia/` (empty folder) |
| **Deck** | API returns admin demo board only (no Ilia-specific boards) |
| **Talk** | Default “Lets get started!” onboarding room (sample bot) — saved to `exports/.../Ilia/talk-rooms-export.xml` |
### Why ~76 MB but empty Files?
Usage is almost certainly in **app data** (database + `appdata/Ilia/`), not user-visible Files — e.g. Talk messages/attachments, Bookmarks DB, cached previews, or deleted items in trash not visible via shallow WebDAV.
**To export Ilias real data you need one of:**
1. **Ilia logs in** at [https://nextcloud.levkin.ca](https://nextcloud.levkin.ca) → export Bookmarks HTML, Notes, Forms CSV, and/or **Settings → Privacy → Download account data**.
2. **SSH on VM 201** (`10.0.10.24`) → `docker exec` Nextcloud container:
```bash
du -sh /mnt/ncdata/Ilia/*
sudo -u www-data php occ user:export Ilia /tmp/ilia-export
```
3. **Admin “login as”** (if enabled in Nextcloud admin settings) → export from UI.
Artifacts: `exports/nextcloud-2026-05-21/Ilia/` (gitignored).
---
## What was exported automatically
| File | Description |
|------|-------------|
| `notes-all.json` | `[]` |
| `forms-list.json` | `{"data":[]}` |
| `deck-boards.json` | Board list |
| `deck-board-3-stacks.json` | Deck stacks + example cards |
| `files-admin/Shared/angela.md` | Grocery list markdown |
| `files-admin/Documents/Example.md` | Demo document |
Bookmarks HTML/API files are **invalid** (Nextcloud login page, not bookmark export).
---
## Manual steps still needed (per user)
If family members used **their own** logins:
1. **Bookmarks** — Log in as each user → **Bookmarks** app → **Settings** → **Export** (HTML).
2. **Notes** — **Notes** app or download `Notes/` from **Files** (if populated).
3. **Forms** — **Forms** app → each form → **Responses** → **Export CSV**.
4. **Full account** — **Settings → Personal info → Privacy & data → Request account data** (ZIP when ready).
Repeat for: `Ilia`, `Ira`, `Tanya`, `GM` if they had content.
---
## Server-side export (recommended for IT)
SSH to the Nextcloud VM (`10.0.10.24`, credentials in Proxmox VM 201 description — **rotate after export**):
```bash
# AIO: exec into Nextcloud container
docker ps | grep nextcloud
docker exec -u www-data -it <nextcloud-aio-nextcloud-container> bash
php occ user:list
php occ user:export Ilia /tmp/export-ilia
# Or per-app DB export / full datadirectory backup
```
Also fix **NAS.SP00** degraded pool before relying on VM 201 (8 TB disk on NAS).
---
## Security note
Admin API credentials were taken from **Proxmox VM 201 notes field** (world-readable to root on pve10). **Rotate** Nextcloud admin password and remove secrets from `qm config 201` after migration.
---
## Decommission checklist (after exports confirmed)
- [ ] Each user confirms Bookmarks/Notes/Forms exported
- [ ] Stop VM 201 or remove from Caddy
- [ ] Comment/remove `nextcloud` from `inventories/production/hosts`
- [ ] Update DNS / free `cloud.levkin.ca` when replacement ready (Immich/Syncthing per rollout plan)