131 Commits

Author SHA1 Message Date
06a7889024 feat: migrate Hoarder to Karakeep bookmark manager
Complete migration from discontinued Hoarder to actively maintained Karakeep:

## Service Updates
- Update Docker image: ghcr.io/hoarder-app/hoarder → ghcr.io/karakeep-app/karakeep
- Update environment variables: HOARDER_VERSION → KARAKEEP_VERSION
- Upgrade Meilisearch: v1.6 → v1.13.3 for better search performance
- Update Glance labels and service references to Karakeep

## Data Preservation
- Maintain same domain: bookmarks.thesatelliteoflove.com
- Preserve volume structure: data and meilisearch volumes unchanged
- Keep directory structure: /opt/stacks/hoarder/ for continuity
- Maintain container naming for Caddyfile compatibility

## Meilisearch Migration
- Resolved database version incompatibility (v1.6.2 → v1.13.3)
- Backed up old database and created fresh v1.13.3 compatible database
- Manual reindex required via Admin Settings > Background Jobs

## Documentation Updates
- Update all service references from Hoarder to Karakeep
- Add both 'hoarder' and 'karakeep' tags for deployment flexibility
- Maintain backwards compatibility for existing automation

## Benefits
- Access to latest Karakeep features and security updates
- Continued development support (Hoarder discontinued)
- Improved search performance with Meilisearch v1.13.3
- Zero data loss during migration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 14:15:36 -06:00
68f0276ac0 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>
2025-06-06 12:16:44 -06:00
d4bec94b99 refactor: reorganize docker role into logical service groups
Break down the monolithic main.yml (176 lines) into organized service categories:

- infrastructure/ (caddy, authentik, dockge) - Core platform components
- development/ (gitea, codeserver, conduit) - Development tools
- media/ (audiobookshelf, calibre, ghost, pinchflat, etc.) - Content services
- productivity/ (paperless, baikal, syncthing, mmdl, etc.) - Personal organization
- monitoring/ (glance, changedetection, appriseapi) - System monitoring
- communication/ (gotosocial, postiz) - Social/messaging services

Benefits:
- Improved maintainability with logical grouping
- Better dependency management between service categories
- Enhanced tag-based deployment (can deploy by category)
- Cleaner organization for 25+ services

All individual service tags remain functional for backwards compatibility.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 11:50:26 -06:00
8ca2122cb3 add: comprehensive infrastructure improvement roadmap
Document prioritized improvements for Ansible infrastructure including:
- Docker role reorganization into logical service groups
- Variable management standardization
- Security hardening and backup strategies
- CI/CD automation opportunities
- Network segmentation and monitoring enhancements

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 11:46:07 -06:00
ccab665d26 fix: resolve MMDL hairpinning issue with CalDAV communication
- Add cal.thesatelliteoflove.com:172.20.0.5 to MMDL extra_hosts for internal communication
- Update DEPLOYMENT_LEARNINGS.md with comprehensive hairpinning documentation
- Update CLAUDE.md with hairpinning guidance and correct deployment commands
- Document standard pattern for Docker container internal domain resolution

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 11:24:05 -06:00
1c9ab0f5e6 add DEPLOYMENT_LEARNINGS.md to gitignore
- Keep deployment knowledge base local only
- Prevent committing sensitive troubleshooting information
- Maintain institutional knowledge without exposing internal details

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:56:31 -06:00
7fdb52e91b add comprehensive documentation for all Ansible roles
- Add main README with infrastructure overview and usage instructions
- Document bootstrap role for server initialization and security hardening
- Document common role for shared server configuration
- Document cron role for scheduled tasks and automation
- Document docker role with detailed service descriptions and deployment patterns
- Include MMDL service documentation with setup requirements
- Add troubleshooting guides and security considerations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:51:39 -06:00
a2c3b53640 configure Caddy reverse proxy for MMDL task service
- Add tasks.thesatelliteoflove.com reverse proxy to MMDL container
- Route task management service through Caddy with automatic HTTPS

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:50:35 -06:00
e1f09fc119 add tasks subdomain DNS record for MMDL service
- Add tasks.thesatelliteoflove.com A record pointing to server IP
- Enable MMDL task management service accessibility

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:50:15 -06:00
1280bba7ff add MMDL task management service deployment
- Add MMDL (Manage My Damn Life) task and calendar management service
- Configure NextAuth with Authentik OIDC integration
- Use MySQL 8.0 with proper authentication plugin
- Include Glance dashboard integration
- Add to main docker deployment pipeline

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 10:49:49 -06:00
798d35be16 add Redlib Reddit frontend service with security hardening
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:08:50 -06:00
4fb991ac52 increase Manyfold max file upload size to 5GB
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:08:32 -06:00
4d1732ff16 add nerder.land homepage configuration to Caddy
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:08:14 -06:00
2a7bd0dc74 update authentik to 2025.4 and gotosocial to latest
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:07:55 -06:00
c94c3641b0 add vault_pass to gitignore for security
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:07:38 -06:00
e7cac9e19c fix Route53 @ record parsing in DNS playbook
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 16:05:47 -06:00
3fbd0c5053 more glance updates for apps 2025-03-14 15:59:38 -06:00
579fb581c6 added glance labels to a buch of apps 2025-03-14 14:52:01 -06:00
37f47a4cf3 add manyfold to stack 2025-03-14 14:23:56 -06:00
e3cef5ec47 update GTS version 2025-02-28 12:29:37 -07:00
47cf24b637 update dawarich version and add labels 2025-02-28 12:29:24 -07:00
fe596a2387 update authentik version 2025-02-28 12:28:58 -07:00
3908ffa9e6 set variable to allow non-https connections 2025-02-28 12:28:45 -07:00
e8c9d42b77 add pinchflat to stack 2025-02-28 12:28:17 -07:00
1271fdc2ce add tag for dockge 2025-02-28 12:27:46 -07:00
12a664415d add apprise api to stack 2025-02-28 12:27:29 -07:00
58ddde7dfc glance related changes 2025-02-28 12:26:18 -07:00
d2d0accd2c Add conduit to stack 2025-02-28 12:24:23 -07:00
d43f70b68f Glance updates 2025-02-09 21:21:07 -07:00
951531df0c Updated for 0.7.0 breaking change 2025-02-09 15:51:10 -07:00
6620fe6a86 add change detection 2025-02-09 15:44:05 -07:00
27fce8c757 fix dawarich 2025-02-09 15:43:38 -07:00
8b5e82b7e1 fix runner config 2025-02-09 15:43:19 -07:00
cbc343884b Update RSS feeds 2025-02-09 15:42:54 -07:00
27564a35e4 add beaver to stack 2025-01-04 11:38:36 -07:00
0f33ce5013 remove unused apps from stack 2025-01-04 09:17:13 -07:00
a97c37d8d4 add dawarich to stack 2025-01-04 09:16:27 -07:00
b0d0f41116 switch audiobookshelf to use latest tag 2025-01-04 09:10:43 -07:00
4b4182ce36 switch pingvin to use latest tag 2025-01-04 09:10:19 -07:00
c8f22f83e2 add ghost to stack for phlog 2025-01-04 09:09:47 -07:00
31c11437d0 update caddy to use static IP 2025-01-04 09:08:18 -07:00
1a9dba9cec add phlog to dns 2025-01-04 09:07:51 -07:00
c986c82aa3 add syncthing to stack 2024-12-26 18:28:37 -07:00
bcb082aa98 paperless config fix 2024-12-26 18:28:26 -07:00
1b8faa158d pingvin version bump 2024-12-26 18:28:11 -07:00
97eeeaab34 authentik version bump 2024-12-26 18:27:55 -07:00
d2030c4b8d added baikal to stack 2024-12-10 07:05:55 -07:00
cd15f6a9c4 bump audiobookshelf version 2024-12-09 18:47:46 -07:00
9388bb5037 add oidc auth to paperless 2024-12-09 18:33:59 -07:00
883e907a2f Put calibreweb behind proxy auth 2024-12-09 18:33:42 -07:00