Add Caddy reverse proxy configuration and Kopia backup documentation
- Create INFRASTRUCTURE-COMPLETE.md: Comprehensive infrastructure overview * Network architecture and DNS configuration * Storage architecture for Nextcloud (1.4TB warm storage via LVM) * Kopia backup setup with Backblaze B2 integration * Caddy reverse proxy configuration (CT 202) * Security configuration and capacity planning - Add Caddy reverse proxy configurations: * caddy-kopia-integration.md: Integration steps for CT 202 * caddy-kopia-reverse-proxy.md: Complete configuration reference * caddy/Caddyfile: Production-ready configuration * caddy/docker-compose.yml: Docker deployment spec - Add Kopia backup documentation: * kopia-nextcloud-backblaze-setup.md: Complete Kopia setup guide * Backup strategy, retention policies, and restore procedures - Update related documentation with consolidated references Status: Infrastructure documented and ready for deployment
This commit is contained in:
@@ -30,7 +30,7 @@ All VMs: automatically pull latest on startup
|
||||
|
||||
### Step 1: Create the Gitea Repository (2 minutes)
|
||||
|
||||
1. Go to: **http://192.168.88.200:3000**
|
||||
1. Go to: **http://192.168.88.27:3002**
|
||||
2. Click **+** (top right) → **New Repository**
|
||||
3. Fill in:
|
||||
- **Repository name**: `homelab-configs`
|
||||
@@ -65,7 +65,7 @@ git add .
|
||||
git commit -m "Initial homelab-configs setup"
|
||||
|
||||
# Add remote and push
|
||||
git remote add origin http://192.168.88.200:3000/jgitta/homelab-configs.git
|
||||
git remote add origin http://192.168.88.27:3002/jgitta/homelab-configs.git
|
||||
git branch -M main
|
||||
git push -u origin main
|
||||
```
|
||||
@@ -92,7 +92,7 @@ entrypoint: /bin/sh
|
||||
command: |
|
||||
-c "
|
||||
mkdir -p /tmp/homelab-configs
|
||||
git clone http://192.168.88.200:3000/jgitta/homelab-configs.git /tmp/homelab-configs || true
|
||||
git clone http://192.168.88.27:3002/jgitta/homelab-configs.git /tmp/homelab-configs || true
|
||||
mkdir -p /root/.opencode
|
||||
cp /tmp/homelab-configs/opencode/config.json /root/.opencode/config.json
|
||||
exec opencode
|
||||
@@ -130,7 +130,7 @@ You should see:
|
||||
|
||||
```bash
|
||||
# Clone the repo (or update if you have it)
|
||||
git clone http://192.168.88.200:3000/jgitta/homelab-configs.git
|
||||
git clone http://192.168.88.27:3002/jgitta/homelab-configs.git
|
||||
cd homelab-configs
|
||||
|
||||
# Edit the config
|
||||
@@ -180,14 +180,14 @@ homelab-configs/
|
||||
|
||||
### Check if Repository Created:
|
||||
```bash
|
||||
curl http://192.168.88.200:3000/api/v1/repos/jgitta/homelab-configs \
|
||||
curl http://192.168.88.27:3002/api/v1/repos/jgitta/homelab-configs \
|
||||
2>/dev/null | jq '.name'
|
||||
# Should output: homelab-configs
|
||||
```
|
||||
|
||||
### Check if Configs Are Accessible:
|
||||
```bash
|
||||
curl http://192.168.88.200:3000/jgitta/homelab-configs/raw/branch/main/opencode/config.json \
|
||||
curl http://192.168.88.27:3002/jgitta/homelab-configs/raw/branch/main/opencode/config.json \
|
||||
2>/dev/null | jq '.apiBase'
|
||||
# Should output: "http://192.168.88.27:4000"
|
||||
```
|
||||
@@ -290,7 +290,7 @@ git push origin main
|
||||
```
|
||||
|
||||
### "Could not fetch configs from Gitea"
|
||||
- Check network access: `curl http://192.168.88.200:3000/`
|
||||
- Check network access: `curl http://192.168.88.27:3002/`
|
||||
- Verify Gitea repo exists and is public (or accessible)
|
||||
- Check docker-compose logs: `docker-compose logs opencode`
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@ services:
|
||||
entrypoint: /bin/sh
|
||||
command: |
|
||||
-c "
|
||||
git clone http://192.168.88.200:3000/jgitta/homelab-configs.git /tmp/configs
|
||||
git clone http://192.168.88.27:3002/jgitta/homelab-configs.git /tmp/configs
|
||||
cp /tmp/configs/opencode/config.json ~/.opencode/config.json
|
||||
exec ~/.opencode/bin/opencode
|
||||
"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
- ✅ **LiteLLM Container**: Running on docker-server (siklos, 192.168.88.27:4000)
|
||||
- ✅ **Docker Compose**: Configured and ready at `/opt/litellm/`
|
||||
- ✅ **Configuration**: Git initialized with config files in `/opt/litellm/config/`
|
||||
- ✅ **Gitea**: Ready at http://192.168.88.200:3000 for repository management
|
||||
- ✅ **Gitea**: Ready at http://192.168.88.27:3002 for repository management
|
||||
- ✅ **All VMs**: Network access confirmed to docker-server
|
||||
|
||||
---
|
||||
@@ -162,7 +162,7 @@ Once tested, you can:
|
||||
```bash
|
||||
# Create litellm-config repo in Gitea, then:
|
||||
cd /opt/litellm
|
||||
git remote add gitea http://192.168.88.200:3000/jgitta/litellm-config.git
|
||||
git remote add gitea http://192.168.88.27:3002/jgitta/litellm-config.git
|
||||
git pull gitea master
|
||||
```
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ Master Key: litellm-local-key-change-in-production (⚠️ CHANGE THIS in produc
|
||||
|
||||
**Why?** This centralizes your API key management in version control. Updates to one place affect all VMs.
|
||||
|
||||
1. Open: **http://192.168.88.200:3000** (Your Gitea instance)
|
||||
1. Open: **http://192.168.88.27:3002** (Your Gitea instance)
|
||||
2. Login with your account (jgitta)
|
||||
3. Click **"+"** icon (top right) → **"New Repository"**
|
||||
4. Fill in:
|
||||
@@ -147,7 +147,7 @@ docker-server (siklos @ 192.168.88.27)
|
||||
├── litellm_config.yaml # Model definitions & API keys
|
||||
└── README.md # Config documentation
|
||||
|
||||
Gitea (gitea @ 192.168.88.200:3000)
|
||||
Gitea (gitea @ 192.168.88.27:3002)
|
||||
└── jgitta/litellm-config/
|
||||
└── (same files as above)
|
||||
```
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This configuration pulls OpenCode config from centralized Gitea repository
|
||||
# instead of managing per-VM configuration files
|
||||
#
|
||||
# Updated for centralized config management via http://192.168.88.200:3000
|
||||
# Updated for centralized config management via http://192.168.88.27:3002
|
||||
|
||||
version: '3.8'
|
||||
|
||||
@@ -40,7 +40,7 @@ services:
|
||||
mkdir -p /tmp/homelab-configs
|
||||
|
||||
# Clone the central configs repo
|
||||
if git clone http://192.168.88.200:3000/jgitta/homelab-configs.git /tmp/homelab-configs; then
|
||||
if git clone http://192.168.88.27:3002/jgitta/homelab-configs.git /tmp/homelab-configs; then
|
||||
echo '✅ Configuration fetched successfully'
|
||||
else
|
||||
echo '⚠️ Could not fetch configs from Gitea, using defaults'
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
**VM**: next (Nextcloud) @ 192.168.88.62
|
||||
**OpenCode**: Running in Docker
|
||||
**API Gateway**: LiteLLM @ 192.168.88.27:4000
|
||||
**Config Source**: Gitea @ 192.168.88.200:3000
|
||||
**Config Source**: Gitea @ 192.168.88.27:3002
|
||||
|
||||
---
|
||||
|
||||
@@ -70,7 +70,7 @@ docker exec opencode curl -s http://192.168.88.27:4000/models \
|
||||
### 2.2 Can OpenCode Reach Gitea?
|
||||
|
||||
```bash
|
||||
docker exec opencode curl -s http://192.168.88.200:3000/api/v1/version | jq '.version'
|
||||
docker exec opencode curl -s http://192.168.88.27:3002/api/v1/version | jq '.version'
|
||||
|
||||
# Expected output: "1.21.4"
|
||||
```
|
||||
@@ -173,7 +173,7 @@ opencode
|
||||
On your workstation:
|
||||
```bash
|
||||
# Clone the homelab-configs repo
|
||||
git clone http://192.168.88.200:3000/jgitta/homelab-configs.git
|
||||
git clone http://192.168.88.27:3002/jgitta/homelab-configs.git
|
||||
cd homelab-configs
|
||||
|
||||
# Edit the config to use Claude instead
|
||||
@@ -233,7 +233,7 @@ docker exec opencode curl -s http://192.168.88.27:4000/models \
|
||||
|
||||
echo ""
|
||||
echo "Test 4: Gitea Reachability"
|
||||
docker exec opencode curl -s http://192.168.88.200:3000/api/v1/version | jq '.version'
|
||||
docker exec opencode curl -s http://192.168.88.27:3002/api/v1/version | jq '.version'
|
||||
# Expected: "1.21.4"
|
||||
|
||||
echo ""
|
||||
@@ -258,7 +258,7 @@ echo "✅ All tests completed!"
|
||||
docker-compose logs opencode | grep -i "fetch\|clone"
|
||||
|
||||
# Check if Gitea is accessible
|
||||
curl http://192.168.88.200:3000/
|
||||
curl http://192.168.88.27:3002/
|
||||
# If fails, Gitea might be down
|
||||
|
||||
# Manually update the config
|
||||
|
||||
Reference in New Issue
Block a user