feat: initial infra repo
- docker-services: 14 generic compose templates (portainer, npm, vaultwarden, gitea, jotty, nextcloud-aio, rustdesk, audiobookshelf, calibre-web, plex, erugo, jswiki, speedtest, watchtower) - install-scripts: bash scripts for Ubuntu server bootstrap, docker, portainer, npm, backup, restore - ansible: 4 playbooks (bootstrap, deploy-services, update-services, security-hardening) + roles skeleton - hermes-install: Hermes CLI setup on macOS - macos-setup: Brewfile + osx-defaults + fish-config - home-nas-tools: metadata index for NAS projects (no binaries) - docs: architecture, security, contributing - README, LICENSE (MIT), .gitignore
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# Vaultwarden – proměnné prostředí
|
||||
TZ=Europe/Prague
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
|
||||
# URL přes kterou bude Vaultwarden dostupný (musí být https://)
|
||||
DOMAIN=https://vault.example.com
|
||||
|
||||
# Po prvním přihlášení admin účtu nastavte na false
|
||||
SIGNUPS_ALLOWED=true
|
||||
INVITATIONS_ALLOWED=false
|
||||
|
||||
# Bezpečnost
|
||||
SHOW_PASSWORD_HINT=false
|
||||
LOG_LEVEL=warn
|
||||
@@ -0,0 +1,79 @@
|
||||
# Vaultwarden – self-hosted správce hesel
|
||||
|
||||
> Kompatibilní s Bitwarden klienty. Open-source, lehký (Rust).
|
||||
|
||||
## 📋 Přehled
|
||||
|
||||
- **Image:** `vaultwarden/server:latest`
|
||||
- **Porty:** `2999` (HTTP), `3012` (WebSocket, interní)
|
||||
- **User:** `1000:1000`
|
||||
- **Network:** `bridge`
|
||||
|
||||
## 🚀 Instalace
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env # nastavit DOMAIN, ROCKET_PORT, hesla
|
||||
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## 🌐 Přístup
|
||||
|
||||
- **Web vault:** `http://<server>:2999` (za HTTPS terminuj v NPM)
|
||||
- **Bitwarden app:** stejná URL jako vault
|
||||
- **Doporučení:** terminuj HTTPS přes NPM a nepoužívej HTTP přímo
|
||||
|
||||
## 🔐 Bezpečnost
|
||||
|
||||
- **DOMAIN** musí být `https://vault.example.com` (ne `http`)
|
||||
- **SIGNUPS_ALLOWED=false** po registraci admin účtu
|
||||
- **INVITATIONS_ALLOWED=false** pokud nechceš zvát další
|
||||
- **SHOW_PASSWORD_HINT=false** (odhalování hesel)
|
||||
- **DATABASE_URL** – zálohuj SQLite pravidelně
|
||||
|
||||
## 🔑 Záloha
|
||||
|
||||
```bash
|
||||
# Zastavit kontejner
|
||||
docker compose stop
|
||||
|
||||
# Zazálohovat SQLite DB
|
||||
cp ./data/db.sqlite3 /backup/vaultwarden-$(date +%Y%m%d).sqlite3
|
||||
|
||||
# Restart
|
||||
docker compose start
|
||||
```
|
||||
|
||||
## 👥 Organizace
|
||||
|
||||
- **1 user** (ty) – self-hosted
|
||||
- **2FA** – povinně aktivuj po registraci
|
||||
- **FIDO2/WebAuthn** – podpora hardwarových klíčů (YubiKey)
|
||||
- **Organizace** – pro sdílení hesel s rodinou
|
||||
|
||||
## 📁 Volumes
|
||||
|
||||
| Mount | Účel |
|
||||
|---|---|
|
||||
| `./data:/data` | SQLite DB, attachmenty, ikony, config |
|
||||
|
||||
## 📚 Klienti
|
||||
|
||||
- **Mobil:** Bitwarden (iOS/Android)
|
||||
- **Desktop:** Bitwarden (Win/Mac/Linux)
|
||||
- **Browser:** Bitwarden extension (Chrome/Firefox/Edge)
|
||||
- **CLI:** `rbw` (Rust) nebo `bitwarden-cli`
|
||||
|
||||
## 🔄 Aktualizace
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
# DB migrace probíhá automaticky
|
||||
```
|
||||
|
||||
## 📚 Dokumentace
|
||||
|
||||
- [Vaultwarden Wiki](https://github.com/dani-garcia/vaultwarden/wiki)
|
||||
- [Bitwarden klienti](https://bitwarden.com/download/)
|
||||
@@ -0,0 +1,41 @@
|
||||
# Vaultwarden – kompatibilní Bitwarden server
|
||||
|
||||
services:
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: vaultwarden
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "2999:80"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Prague
|
||||
- DOMAIN=https://CHANGE_ME
|
||||
- ROCKET_PORT=80
|
||||
- SIGNUPS_ALLOWED=true
|
||||
- INVITATIONS_ALLOWED=false
|
||||
- SHOW_PASSWORD_HINT=false
|
||||
- LOG_LEVEL=warn
|
||||
- EXTENDED_LOGGING=true
|
||||
- RUST_BACKTRACE=1
|
||||
networks:
|
||||
- vaultwarden_net
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:80/alive"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
networks:
|
||||
vaultwarden_net:
|
||||
name: vaultwarden_default
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user