77 lines
4.1 KiB
Markdown
77 lines
4.1 KiB
Markdown
# Stack inventory
|
|
|
|
State: May 3, 2026 — end of Tier 4.
|
|
|
|
**Repo type** — see [strategy.md](strategy.md#repo-types).
|
|
**Image source** — `upstream` = published image used directly; `gitea-registry` = built off-host, pushed to `gitea.alexandru.macocian.me/amacocian/<name>:<tag>`.
|
|
|
|
## Migrated (`/mnt/nas/stacks/<name>/`)
|
|
|
|
### Morgott (owner host)
|
|
|
|
| Charlie repo | Stack path | Image source | Notes |
|
|
|---|---|---|---|
|
|
| `caddy` | `caddy/` | local build | edge reverse proxy + caddy-security |
|
|
| `authentik` | `authentik/` | upstream | IdP; postgres + redis + server + worker |
|
|
| `ldap` | `ldap/` | upstream | openldap + ldap-ui |
|
|
| `ddclient` | `ddclient/` | upstream | dynamic DNS |
|
|
| `vaultwarden` | `vaultwarden/` | upstream | password vault |
|
|
| `bookstack` | `bookstack/` | upstream | wiki (+ mariadb) |
|
|
| `monica` | `monica/` | gitea-registry `monica:4.x` | CRM (custom 4.x fork; + mariadb) |
|
|
| `miniflux` | `miniflux/` | upstream | RSS (+ postgres) |
|
|
| `mealie` | `mealie/` | upstream | recipes (sqlite) |
|
|
| `homarr` | `homarr/` | upstream | dashboard |
|
|
| `paperless-ngx` | `paperless-ngx/` | upstream | docs (+ redis) |
|
|
| `victoriametrics` | `victoriametrics/` | upstream | vm + vmauth + vmalert + alertmanager + grafana |
|
|
| `gssh` | `gssh/` | gitea-registry `gssh:latest` | web SSH terminal |
|
|
|
|
### Melina (owner host)
|
|
|
|
| Charlie repo | Stack path | Image source | Notes |
|
|
|---|---|---|---|
|
|
| `gitea` | `gitea/` | upstream | the git server itself (deployed manually, never via runner-on-self) |
|
|
| `mediacompose` | `mediacompose/` | upstream | jellyfin + arr + qbt-via-gluetun |
|
|
| `searxng` | `searxng/` | upstream | metasearch (+ valkey) |
|
|
| `invidious` | `invidious/` | gitea-registry `invidious:oidc-support` | YouTube frontend (+ companion + db + gluetun) |
|
|
| `planka` | `planka/` | upstream | kanban (+ postgres) |
|
|
| `audiobookshelf` | `audiobookshelf/` | upstream | audiobooks |
|
|
| `directoryadmin` | `directoryadmin/` | gitea-registry `directoryadmin:latest` | LDAP admin UI |
|
|
|
|
## Pending (Tier 5 — long tail)
|
|
|
|
| Charlie repo | Old path | Owner | Repo type | Status |
|
|
|---|---|---|---|---|
|
|
| `portainer` | `home/portainer/` | morgott | init | not started |
|
|
| `portainer-agent` | `home/portainer-agent/` | morgott + melina (shared) | init | not started |
|
|
| `otelcollector` | `home/otelcollector/` | morgott + melina (shared) | init | not started |
|
|
| `watchtower` | `home/watchtower/` | morgott | init | not started — archive after Diun |
|
|
| `shell` | `home/shell/` | — (config, all hosts) | init | not started |
|
|
| `first-time-setup` | `home/first-time-setup.md` | — (docs) | init | not started |
|
|
| `server-mgmt-utils` | `home/ServerManagementUtils/` | morgott | rewrite | mostly dead — extract temp/storage scripts (move to `otelcollector/scripts/` or `host-scripts`), then archive |
|
|
| `plist` | `home/plist/` | ? | TBD | classify before deciding |
|
|
|
|
## Mirrors (Gitea pull-mirror, no host action)
|
|
|
|
Naming: `Charlie/<name>-mirror`.
|
|
|
|
| Mirror | Upstream | Status |
|
|
|---|---|---|
|
|
| `gssh` source | `https://github.com/AlexMacocian/Gssh` | pushed to `amacocian/Gssh` (manual) |
|
|
| `monica` source | `https://github.com/AlexMacocian/monica` (4.x) | mirror under `amacocian/monica` |
|
|
| `directoryadmin` source | `https://github.com/AlexMacocian/DirectoryAdmin` | mirror under `amacocian/DirectoryAdmin` |
|
|
| `invidious` source | `https://github.com/AlexMacocian/invidious` (oidc-support) | mirror under `amacocian/invidious` |
|
|
|
|
Optional later (upstreams we don't customise but want offline):
|
|
`caddy`, `authentik`, `paperless-ngx`, `mealie`, `victoriametrics`, `searxng-docker`, `nitter`, `gitea`, `act_runner`.
|
|
|
|
## Non-stack dirs
|
|
|
|
| Path | Action |
|
|
|---|---|
|
|
| `/mnt/nas/ca/` | leave; out of scope |
|
|
| `/mnt/nas/ldap/` | rename → `/mnt/nas/ldap-certs/` (deferred — not blocking anything) |
|
|
| `/mnt/nas/media-server/` | rename → `/mnt/nas/media/` (deferred — bind paths in mediacompose `.env` reference the old name) |
|
|
| `/mnt/nas/portainer/data/` | move → `/mnt/nas/data/portainer/` when portainer migrates |
|
|
| `/mnt/nas/home/*.retired/` | delete after Tier 5 done and one week of stability |
|
|
| `/mnt/nas/home/` | rmdir after all `.retired/` dirs removed |
|