Compare commits
2 Commits
abb3f8980c
...
7683ea7f1b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7683ea7f1b | ||
|
|
0d1a66aac4 |
96
Homelab.md
Normal file
96
Homelab.md
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
---
|
||||||
|
title: Password Vaults
|
||||||
|
description: How passwords are being stored for homelab
|
||||||
|
published: true
|
||||||
|
date: 2026-10-02T13:49:33.635Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-10-02T13:49:33.635Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Password & Credential Storage Policy
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
As of [10/02/2026], all application admin credentials, local account passwords, and
|
||||||
|
manual password-reset instructions are stored in **Vaultwarden**
|
||||||
|
(`https://vault.frantecrt.duckdns.com`), not in Wiki.js or any other documentation page.
|
||||||
|
|
||||||
|
Documentation pages describe *process* (how to reset, where to find things).
|
||||||
|
They never contain the actual secret value.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Where things live now
|
||||||
|
|
||||||
|
| Content | Location |
|
||||||
|
|---|---|
|
||||||
|
| Actual passwords / admin credentials | Vaultwarden ||
|
||||||
|
| App how tos like reset and general reasoning | Wiki.js |
|
||||||
|
| General app configuration | Git repo |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Vaultwarden structure
|
||||||
|
|
||||||
|
- **Collections** are organized per application or system (e.g. `AppX`,
|
||||||
|
`AppY-admin`, `Network-Devices`).
|
||||||
|
- Each **item** represents one credential (e.g. "AppX — local admin account").
|
||||||
|
- Items are **never** duplicated into Wiki.js pages. Wiki.js pages link to
|
||||||
|
the relevant Vaultwarden item by name/collection instead of quoting the
|
||||||
|
secret.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Accessing credentials
|
||||||
|
|
||||||
|
### Web vault
|
||||||
|
`https://vault.frantecrt.duckdns.com` — log in with your individual Vaultwarden
|
||||||
|
account (not a shared account). Browse to the relevant collection.
|
||||||
|
|
||||||
|
### CLI (for scripts / runbooks)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bw config server https://vault.frantecrt.duckdns.com
|
||||||
|
bw login
|
||||||
|
bw unlock
|
||||||
|
export BW_SESSION="<session key from unlock output>"
|
||||||
|
|
||||||
|
bw get password "AppX Admin"
|
||||||
|
bw list items --search "AppX"
|
||||||
|
```
|
||||||
|
|
||||||
|
Runbook steps that need a credential should reference the `bw get` command
|
||||||
|
rather than embedding the value, e.g.:
|
||||||
|
|
||||||
|
> Retrieve current admin password: `bw get password "AppX Admin"
|
||||||
|
or link https://vault.frantecrt.duckdns.org/#/vault?itemId=<ITEMID>&action=view`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Access control
|
||||||
|
|
||||||
|
- Individual accounts only — no shared logins to Vaultwarden itself.
|
||||||
|
- Collections are scoped so people/teams only see credentials relevant to
|
||||||
|
systems they manage.
|
||||||
|
- `SIGNUPS_ALLOWED` is disabled after initial account setup; new accounts
|
||||||
|
are created by an admin via the [Vaultwarden admin panel](https://vault.yourdomain.com/admin)
|
||||||
|
(protected separately by `ADMIN_TOKEN`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rotation
|
||||||
|
|
||||||
|
When a credential is rotated:
|
||||||
|
|
||||||
|
1. Update the value in the Vaultwarden item.
|
||||||
|
2. Update the Notes field if the reset procedure itself changed.
|
||||||
|
3. **Do not** edit a Wiki.js page to reflect the new password — the wiki
|
||||||
|
never contained it in the first place, so there's nothing to update there
|
||||||
|
beyond process changes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Related docs
|
||||||
|
|
||||||
|
- [Deployment: (example only) Wiki.js + Vaultwarden docker-compose stack](#)
|
||||||
Reference in New Issue
Block a user