testsAndMisc/linux_configuration/.gitignore
Krzysztof kuhy Rudnicki 20bc1aeb02 linux_configuration: self-hosted dufs cloud storage + KeePass WebDAV auto-sync
Add setup_dufs_cloud.sh: a self-sustaining installer that stands up dufs
(single Rust binary; web UI + built-in WebDAV) on 127.0.0.1:5000 behind the
existing Caddy + DuckDNS exposure stack at a new subdomain, so files are
reachable from mobile network over HTTPS. An event-driven systemd path unit
mirrors ~/Keepass/Passwords.kdbx into the served folder on every change, so
KeePassDX syncs the vault natively over WebDAV.

Paranoid secret handling for the gitignored .dufs_cloud.conf (plaintext web
password): ignored at repo-root + linux_configuration + **/ globs; a new
check-no-dufs-conf pre-commit hook blocks it even against `git add -f`; the
installer refuses to write it unless git check-ignore confirms it is ignored;
the password is hashed via `openssl passwd -6 -stdin` (never in argv); and a
cloud-root guard forbids serving home/.ssh/.config/.gnupg/the repo/root.

Verified: dufs auth (401/200) + WebDAV (207) against the real v0.46.0 binary,
idempotent Caddy/DuckDNS/unit-render logic, and a live phone-on-cellular test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0126QvdMrv2WNeUVShFiLTc3
2026-07-12 03:40:54 +02:00

27 lines
719 B
Plaintext

# Raspberry Pi setup config (contains auto-discovered IPs and passwords)
scripts/features/.nextcloud_raspberry.conf
scripts/features/.raspberry_pi.conf
.nextcloud_raspberry.conf
.raspberry_pi.conf
# WireGuard/SSH remote-access setup config (contains the DuckDNS token)
scripts/single_use/features/.wireguard_ssh.conf
.wireguard_ssh.conf
# dufs cloud setup config (contains the plaintext web password) — never commit.
scripts/single_use/features/.dufs_cloud.conf
.dufs_cloud.conf
**/.dufs_cloud.conf
# Generated study materials (repo_to_study.sh output)
study_materials/
**/study_materials/
documentation_links.md
anki_cards.txt
llm_anki_prompt.md
# Repo analysis temp files
/tmp/repo_analysis/
*.cscope.out*
tags