From d2781a11285e5bbb88a47692b9b4157f7fa7b9f1 Mon Sep 17 00:00:00 2001 From: gm Date: Thu, 21 May 2026 02:19:18 +0900 Subject: [PATCH] docs: add storage layout and volume mount reference --- docs/storage.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/storage.md diff --git a/docs/storage.md b/docs/storage.md new file mode 100644 index 0000000..ca99796 --- /dev/null +++ b/docs/storage.md @@ -0,0 +1,61 @@ +# 스토리지 구성 + +## 디스크 구성 + +| 마운트 포인트 | 디바이스 | 용량 | 사용 | 용도 | +|---|---|---|---|---| +| `/` | `/dev/mapper/rl-root` | 214 GiB | 60 GiB (29%) | OS, 컨테이너 이미지, 서비스 데이터 | +| `/mnt/storage` | `/dev/sda1` | 2.7 TiB | 693 GiB (27%) | 미디어, 파일, AI 모델 | + +## 서비스별 데이터 경로 + +### /podman/data (루트 파티션) + +| 경로 | 서비스 | 내용 | +|---|---|---| +| `/podman/data/authentik/env/` | Authentik | 환경변수 (secrets 포함, Git 제외) | +| `/podman/data/filebrowser/` | FileBrowser | DB, config | +| `/podman/data/gitea/` | Gitea | 전체 데이터 (SQLite DB, 설정, LFS 메타) | +| `/podman/data/nextcloud/html/` | Nextcloud | 앱 데이터, config.php | +| `/podman/data/npm/data/` | NPM | nginx conf, 인증서 제외 설정 | +| `/podman/data/npm/letsencrypt/` | NPM | Let's Encrypt 인증서 | +| `/podman/data/prometheus/config/` | Prometheus | prometheus.yml | +| `/podman/data/prometheus/data/` | Prometheus | TSDB (30일 보존) | +| `/podman/data/reservation/` | Reservation | SQLite DB, 업로드 파일 | +| `/podman/data/sftpgo/` | SFTPGo | 설정, 사용자 DB | + +### /mnt/storage (대용량 스토리지) + +| 경로 | 서비스 | 내용 | +|---|---|---| +| `/mnt/storage/ai/open-webui/` | Open WebUI | 대화 기록, 모델 설정 | +| `/mnt/storage/ai/models/` | Ollama / ComfyUI | LLM/이미지 모델 | +| `/mnt/storage/git/` | Gitea | Git 실제 저장소 (`/git/lfs` 포함) | +| `/mnt/storage/media/` | Jellyfin | 미디어 파일 | +| `/mnt/storage/asr/` | ASR | 업로드 파일, 결과, 모델 캐시 | + +### /srv (서비스 런타임) + +| 경로 | 내용 | +|---|---| +| `/srv/asr/` | ASR 앱 코드, 모델 | +| `/srv/containers/open-webui/` | open-webui.container 원본 (symlink → /etc/containers/systemd/) | + +## 볼륨 마운트 SELinux 옵션 + +| 옵션 | 의미 | 사용 사례 | +|---|---|---| +| `:Z` | 단독 컨테이너용 레이블 재지정 | 단일 컨테이너가 독점 | +| `:z` | 공유 가능 레이블 재지정 | 여러 컨테이너 또는 호스트 공유 | +| `:Z,U` | 레이블 + UID 매핑 | rootless 컨테이너 + SELinux | + +## 백업 현황 + +> ⚠️ 현재 공식 자동 백업 미구성 + +백업 대상 권장 경로: +- `/podman/data/` (DB, 설정 전체) +- `/mnt/storage/` (미디어, AI 모델 제외 가능) +- `/etc/containers/systemd/` (Quadlet 파일) +- `/etc/grafana/grafana.ini` +- `/etc/jupyterhub/jupyterhub_config.py`