feat: complete infrastructure cleanup and optimization

This comprehensive update improves maintainability and removes unused services:

## Major Changes
- Remove 5 unused services (beaver, grist, stirlingpdf, tasksmd, redlib)
- Convert remaining static compose files to Jinja2 templates
- Clean up Caddyfile removing orphaned proxy configurations
- Align DNS records with active services

## Service Cleanup
- Remove habits.thesatelliteoflove.com DNS record (beaver service)
- Add missing DNS records for active services:
  - post.thesatelliteoflove.com (Postiz)
  - files.thesatelliteoflove.com (Pingvin Share)
  - bookmarks.thesatelliteoflove.com (Hoarder)

## Template Standardization
- Convert caddy-compose.yml to template
- Convert dockge-compose.yml to template
- Convert hoarder-compose.yml to template
- All services now use consistent template-driven approach

## Documentation Updates
- Update CLAUDE.md with new service organization
- Update README.md files with category-based deployment examples
- Update todo.md with completed work summary
- Service count updated to 22+ active services

Infrastructure is now fully organized, cleaned up, and ready for future enhancements.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-06-06 12:16:44 -06:00
parent d4bec94b99
commit 68f0276ac0
24 changed files with 191 additions and 328 deletions

View File

@ -44,9 +44,6 @@ phlog.thesatelliteoflove.com {
reverse_proxy ghost-1-ghost-1:2368
}
habits.thesatelliteoflove.com {
reverse_proxy beaverhabits:8080
}
code.thesatelliteoflove.com {
reverse_proxy authentik-server-1:9000
@ -88,27 +85,11 @@ models.thesatelliteoflove.com {
reverse_proxy manyfold-app-1:3214
}
grist.thesatelliteoflove.com {
reverse_proxy grist-grist-1:8484
}
home.thesatelliteoflove.com {
reverse_proxy authentik-server-1:9000
}
pdftools.thesatelliteoflove.com:80 {
@allowed {
remote_ip 100.64.0.0/10
}
handle @allowed {
reverse_proxy stirling-stirlingpdf-1:8080
}
handle {
respond "Access denied" 403
}
}
repair.nerder.land {
root * /srv/repair

View File

@ -1,31 +0,0 @@
services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
- "8448:8448"
- "8448:8448/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./site:/srv
- caddy_data:/data
- caddy_config:/config
labels:
glance.name: Caddy
glance.icon: si:caddy
glance.url: https://thesatelliteoflove.com/
glance.description: Reverse proxy
networks:
default:
ipv4_address: 172.20.0.5
volumes:
caddy_data:
caddy_config:
networks:
default:
external: true
name: lava

View File

@ -1,27 +0,0 @@
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
labels:
glance.name: Dockge
glance.icon: si:docker
glance.url: http://netcup.porgy-porgy.ts.net:5001
glance.description: Docker management
ports:
# Host Port : Container Port
- 5001:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
# If you want to use private registries, you need to share the auth file with Dockge:
# - /root/.docker/:/root/.docker
# Stacks Directory
# ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.
# ⚠️ 1. FULL path only. No relative path (MUST)
# ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)
- /opt/stacks:/opt/stacks
environment:
# Tell Dockge where is your stacks directory
- DOCKGE_STACKS_DIR=/opt/stacks

View File

@ -1,56 +0,0 @@
version: "3.8"
services:
web:
image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
restart: unless-stopped
volumes:
- data:/data
ports:
- 3000:3000
env_file:
- .env
extra_hosts:
- 'auth.thesatelliteoflove.com:172.20.0.5'
- bookmarks.thesatelliteoflove.com:172.20.0.5
environment:
MEILI_ADDR: http://meilisearch:7700
DATA_DIR: /data
BROWSER_WEB_URL: http://chrome:9222
labels:
glance.name: Hoarder
glance.icon: si:wikibooks
glance.url: https://bookmarks.thesatelliteoflove.com/
glance.description: Bookmark manager
glance.id: hoarder
chrome:
image: gcr.io/zenika-hub/alpine-chrome:123
restart: unless-stopped
labels:
glance.name: Chrome
glance.parent: hoarder
command:
- --no-sandbox
- --disable-gpu
- --disable-dev-shm-usage
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
meilisearch:
image: getmeili/meilisearch:v1.6
restart: unless-stopped
labels:
glance.name: Meilisearch
glance.parent: hoarder
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
volumes:
meilisearch:
data:
networks:
default:
external: true
name: lava

View File

@ -1,21 +0,0 @@
version: "3"
services:
tasks.md:
image: baldissaramatheus/tasks.md:2.5.4
container_name: tasksmd
environment:
- PUID=1000
- PGID=1000
volumes:
- tasksmd-data:/tasks
- tasksmd-config:/config
restart: unless-stopped
volumes:
tasksmd-data:
driver: local
tasksmd-config:
driver: local
networks:
default:
external: true
name: lava