Bootstrap project and safe work-item workflow

This commit is contained in:
2026-07-13 13:51:41 +02:00
commit 80447092e9
90 changed files with 10562 additions and 0 deletions

204
album_naming.md Normal file
View File

@@ -0,0 +1,204 @@
# Immich album naming scheme
Goal: turn the messy on-disk album folders into clean, consistent Immich albums.
## The scheme
**Pattern:** `YYYY[-MM[-DD]] Name` for anything datable; `Category – Detail` for
undated evergreen sets.
Rules:
1. **Year leads, ISO format.** `2015 USA`, not `USA 2015`. Add month/day only when
you actually know it: weddings get `YYYY-MM-DD`, month-tagged trips get `YYYY-MM`.
A leading 4-digit year sorts every dated album chronologically in Immich's
(alphabetical) album list; lettered evergreen albums fall below them.
2. **One name, one album.** Keep German, keep umlauts (Immich is UTF-8). Title Case.
3. **Separator:** a single space after the date; ` – ` (en dash) or `( )` for a
qualifier. No underscores, no double spaces, no cryptic tokens.
4. **Decode export artifacts.** Embedded month numbers (`Brindisi 9 2010`,
`Kuba 1 2011`) become `YYYY-MM`. Drop `alle` / `_MobileMe` / `MobileMe` — those
are old Apple/full-export copies, not real albums (see *Duplicates* below).
5. **Flatten the fake `Urlaub/` tree.** `Urlaub` (holiday) currently holds weddings,
job photos, and applications too. Drop it as a parent; the year prefix does the
grouping.
## How to apply it (no disk renames)
immich-go derives the album from the folder, but you can override per upload:
```bash
immich-go upload \
--server https://immich.domverse-berlin.eu --api-key <key> --no-ui \
from-folder \
--album "2015 USA" \
"/Users/domverse/Documents/Bilder/pictures/Urlaub/2015 USA/"
```
One `--album` per folder, using the *Proposed* name from the table below. This
keeps folder paths (and content hashes) untouched — no re-upload risk. Multiple
folders can map to the *same* `--album` name to merge them (that's how the
duplicates collapse).
> Verify the exact flag against your immich-go version — recent builds use
> `--album "<name>"` on `from-folder`; older ones used `--create-album-name`.
---
## Mapping
`[m?]` = month inferred from an embedded number, confirm before merging.
`[y?]` = year is a guess, confirm.
### Travel (chronological)
| Current folder | Proposed album |
|---|---|
| Urlaub/Indien 2003 | `2003 Indien` |
| Urlaub/Irina München 2003 | `2003 München (Irina)` |
| Urlaub/Mallorca 2003 | `2003 Mallorca` |
| Urlaub/Italien 2004 | `2004 Italien` |
| Urlaub/Irina 2004 | `2004 Irina` |
| Urlaub/Melania 30.Geb 2004 | `2004 Melania 30. Geburtstag` |
| Urlaub/Spanien 2007 | `2007 Spanien` |
| Urlaub/Tauchsafari 2008 | `2008 Tauchsafari` |
| Urlaub/Marokko 2009 + Urlaub/Marokko | `2009 Marokko` *(merge)* |
| Urlaub/Tauchen 2009 | `2009 Tauchen` |
| Urlaub/Ägypten 2010 | `2010 Ägypten` |
| Urlaub/Karwendel 2010 | `2010 Karwendel` |
| Urlaub/Maui 2010 | `2010 Maui` |
| Urlaub/Bootsausflug 2010 | `2010 Bootsausflug` |
| Urlaub/Kuba 2010 | `2010 Kuba` |
| Urlaub/Brindisi 9 2010 | `2010-09 Brindisi` `[m?]` |
| Urlaub/Wanderurlaub 6 2010 (+ …alle) | `2010-06 Wanderurlaub` `[m?]` *(merge)* |
| Urlaub/Italien 2011 | `2011 Italien` |
| Urlaub/Italien 7 2011 (+ …alle) | `2011-07 Italien` `[m?]` *(merge)* |
| Urlaub/Kuba 1 2011 (+ …alle, …_MobileMe, Kuba alle) | `2011-01 Kuba` `[m?]` *(merge)* |
| 2012 Dienstreise Zürich | `2012 Dienstreise Zürich` |
| 2012 Safari Hochzeitsreise | `2012 Hochzeitsreise (Safari)` |
| Urlaub/2013 Paris | `2013 Paris` |
| Urlaub/Schwedenurlaub (Edit) 07-2013 | `2013-07 Schweden (Edit)` |
| Urlaub/Schwedenurlaub (Tanja) 07-2013 | `2013-07 Schweden (Tanja)` |
| Urlaub/2014 Graz Nürnberg | `2014 Graz & Nürnberg` |
| Urlaub/2014 London | `2014 London` |
| Urlaub/2015 USA + Urlaub/USA 2015 | `2015 USA` *(merge)* |
| Urlaub/2015 XMas Paris | `2015-12 Paris (Weihnachten)` |
| Urlaub/2016 Tauchen | `2016 Tauchen` |
| Urlaub/2017 Paris | `2017 Paris` |
| Urlaub/2017 Ägypten | `2017 Ägypten` |
| Urlaub/2017 Mama in HH | `2017 Mama in Hamburg` |
| Urlaub/2017 Mammutmarsch + Mammutmarsch | `2017 Mammutmarsch` *(merge)* |
| Urlaub/2018 Italien | `2018 Italien` |
| Urlaub/2018 Ausflug Sylvester | `2018 Ausflug Silvester` |
| Urlaub/2019 Tauchen | `2019 Tauchen` |
| Urlaub/Berlin | `Berlin` `[y?]` |
| Urlaub/Uckermark | `Uckermark` `[y?]` |
| Urlaub/Malerweg | `Malerweg` `[y?]` |
| Urlaub/Dresden_im_Winter | `Dresden im Winter` `[y?]` |
| Sächsische Schweiz | `Sächsische Schweiz` `[y?]` |
| Urlaub/Kurzurlaube | `Kurzurlaube` |
| Urlaub/foodlog | `Foodlog` |
### Weddings
| Current folder | Proposed album |
|---|---|
| Urlaub/Hochzeit Alex _ Tanja | `2012-04-05 Hochzeit Alex & Tanja` *(your wedding)* |
| Urlaub/Hochzeit 05.04.2012 - Dia | `2012-04-05 Hochzeit Alex & Tanja (Dia-Scan)` |
| Urlaub/Hochzeit 05.04.2012 - Farbe | `2012-04-05 Hochzeit Alex & Tanja (Farbscan)` |
| Urlaub/Hochzeit 05.04.2012 - SW | `2012-04-05 Hochzeit Alex & Tanja (SW-Scan)` |
| 2012 Hochzeit | → fold into `2012-04-05 Hochzeit Alex & Tanja` `[?]` |
| Urlaub/Hochzeit (934) + Urlaub/Hochzeit_Gesamt (577) | `2012-04-05 Hochzeit Alex & Tanja (Gesamt)` `[?]` *(confirm same wedding)* |
| Urlaub/Hochzeit_Astrid_Paul | `Hochzeit Astrid & Paul` `[y?]` |
| Urlaub/Hochzeit_Carlos | `Hochzeit Carlos` `[y?]` |
| Urlaub/Hochzeit_Carlos Freunde | `Hochzeit Carlos (Freunde)` `[y?]` |
| Urlaub/Hochzeit_Cosimo | `Hochzeit Cosimo` `[y?]` |
| Urlaub/Hochezeit_Bjoern | `Hochzeit Björn` `[y?]` *(typo fixed)* |
| Urlaub/Sardinien & Hochzeit Alberto Kerstin | `Sardinien – Hochzeit Alberto & Kerstin` `[y?]` |
| Urlaub/Hochzeitessen Italien | `Hochzeitsessen Italien` `[y?]` |
### Applications / Job
| Current folder | Proposed album |
|---|---|
| Urlaub/Bewerbung 2006 | `2006 Bewerbung` |
| 2008_erste Bewerbungsbilder | `2008 Bewerbungsbilder (erste)` |
| Urlaub/Bewerbungsfotos 2011 | `2011 Bewerbungsfotos` |
| Urlaub/Bewerbungsfotos (Auswahl) | `Bewerbungsfotos (Auswahl)` |
| bewerbungsbilder | `Bewerbungsbilder` |
| bewerbungsbilder/foto_karoline_wolf | `Bewerbungsbilder (Karoline Wolf)` |
| Urlaub/FOKUS SE 2007 + Urlaub/Fokus 2007 | `2007 Fokus SE` *(merge)* |
| job/Capgemini | `Job – Capgemini` |
| job/Capgemini/jugendhackt | `Job – Capgemini (Jugend Hackt)` |
| job/adesso | `Job – adesso` |
| job/lucanet | `Job – LucaNet` |
| job/TS MMS | `Job – TS MMS` |
| Urlaub/2014 Jugend Hackt | `2014 Jugend Hackt` |
| Urlaub/2016_GTA | `2016 GTA` `[?]` |
### People / Family / Personal
| Current folder | Proposed album |
|---|---|
| Urlaub/Fotos Tanja _ Alex 3 2008 | `2008-03 Tanja & Alex` `[m?]` |
| Teenie Jahre | `Teenie Jahre` |
| Teenie Jahre/[Originals] | `Teenie Jahre (Originals)` |
| eltern | `Familie – Eltern` |
| eltern_tanja | `Familie – Eltern (Tanja)` |
| tanja | `Tanja` |
| Camera_Tanja + 0_Open/Camera_Tanja | `Kamera – Tanja` *(merge, same 243)* |
| 0_Open/Tanja Best Of Egypt | `Ägypten – Best Of (Tanja)` `[y?]` |
| selfies | `Selfies` |
| selfies/alex | `Selfies – Alex` |
| selfies/tanja | `Selfies – Tanja` |
| selfies/wir | `Selfies – Wir` |
| profile | `Profilbilder` |
| workout | `Workout` |
### Evergreen / camera roll / misc
| Current folder | Proposed album |
|---|---|
| Camera Roll | `Camera Roll` |
| Urlaub/iphone | `iPhone` |
| Urlaub/Handyvideos | `Handyvideos` |
| Wohnung | `Wohnung` |
| 2012_Wohnung DD | `2012 Wohnung Dresden` |
| Urlaub/Zu Hause | `Zu Hause` |
| fun_pics | `Fun Pics` |
| Urlaub/Auswahl Abzug Bild | `Abzüge (Auswahl)` |
| Urlaub/Unterschrift | `Unterschrift` `[?]` |
| Wallpaper/UW_Bilder | `Wallpaper – Unterwasser` |
| Wallpaper/wallpaper_sfw | `Wallpaper` |
| Wallpaper/wallpaper_ww | `Wallpaper – WW` `[?]` |
---
## Duplicates to merge (point several folders at one `--album`)
- **Marokko** — `Marokko 2009` + `Marokko` → `2009 Marokko`
- **Kuba** — `Kuba 1 2011` + `…alle` + `…_MobileMe` + `Kuba alle` → `2011-01 Kuba`; keep `Kuba 2010` separate as `2010 Kuba`
- **Italien 7 2011** + `…alle` → `2011-07 Italien`
- **Wanderurlaub 6 2010** + `…alle` → `2010-06 Wanderurlaub`
- **USA 2015** + `2015 USA` → `2015 USA`
- **Mammutmarsch** (top-level) + `Urlaub/2017 Mammutmarsch` → `2017 Mammutmarsch`
- **Camera_Tanja** (top-level) + `0_Open/Camera_Tanja` → `Kamera – Tanja`
- **Fokus** — `FOKUS SE 2007` + `Fokus 2007` → `2007 Fokus SE`
immich-go dedupes on content hash, so uploading two folders into the same album
never creates duplicate assets — identical files land once, the album just gains
both source sets.
## Needs your call (I guessed or couldn't tell)
- **Years** for: Berlin, Uckermark, Malerweg, Dresden im Winter, Sächsische Schweiz,
and all the friends' weddings (`Astrid & Paul`, `Carlos`, `Cosimo`, `Björn`,
`Sardinien`). Add `YYYY ` if you know them.
- **`2016_GTA`** (620) — game screenshots? Greater Toronto? a person? → real name.
- **`Unterschrift`** (378, "signature"), **`SiS`** (24), **`ZGIDC`** (18),
**`Horka`** (1), **`Neues Album`** (4), **`Tanja`** (4) — cryptic/tiny; rename or
skip.
- **Big `Hochzeit` (934) / `Hochzeit_Gesamt` (577)** — confirm these are your own
2012 wedding before merging into that album.
- **Month inferences** `[m?]` — verify `9 2010`, `1 2011`, `7 2011`, `6 2010`,
`3 2008` are months, not sequence numbers, before locking the `-MM`.