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
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>
135 lines
5.2 KiB
Markdown
135 lines
5.2 KiB
Markdown
# 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 “Let’s 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 Ilia’s 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)
|