35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# Homelab Documentation
|
|
|
|
> Auto-generated from `docker-compose.yml` files
|
|
|
|
## Data Classification
|
|
|
|
| Type | Example | Git Repo? | Backup? | Location |
|
|
|------|---------|-----------|---------|----------|
|
|
| **Source Configs** | `docker-compose.yml`, `.env.example`, `Makefile` | Yes | No | `/srv/homelab-infra` |
|
|
| **Service Secrets** | `.env` (DB passwords, API keys) | No | Yes | `/srv/homelab-infra/<service>/.env` |
|
|
| **Runtime Configs** | `acme.json`, service configs | No | Yes | `/mnt/storage/docker-data/<service>` |
|
|
| **Persistent Data** | DB data, uploads, media | No | Yes | `/mnt/storage/docker-data/<service>` |
|
|
|
|
## Services
|
|
|
|
| Service | Image | Status |
|
|
|---------|-------|--------|
|
|
| [devbox](services/devbox.md) | `devbox-devcontainer` | active |
|
|
| [gitea](services/gitea.md) | `gitea/gitea:1.24.3` | active |
|
|
| [jellyfin](services/jellyfin.md) | `jellyfin/jellyfin:latest` | active |
|
|
| [nextcloud](services/nextcloud.md) | `ghcr.io/nextcloud-releases/all-in-one:latest` | active |
|
|
| [obsidian](services/obsidian.md) | `couchdb:latest` | active |
|
|
| [qbittorrent](services/qbittorrent.md) | `qmcgaw/gluetun`, `lscr.io/linuxserver/qbittorrent:latest`, `linuxserver/jackett:latest` | active |
|
|
| [traefik](services/traefik.md) | `traefik:v3.6` | active |
|
|
| [whoami](services/whoami.md) | `traefik/whoami` | active |
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
for svc in */; do [ -f "$svc/.env.example" ] && cp "$svc/.env.example" "$svc/.env"; done
|
|
docker network create web
|
|
make up
|
|
```
|