Commit Graph

152 Commits

Author SHA1 Message Date
01d959d12c feat: enable automatic updates for ghost-1 container
Added dockcheck label to enable automatic container updates for the
ghost-1 photo blog service, ensuring it stays current with latest
security patches and features.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 11:13:51 -06:00
a4fc5f7608 fix: exclude dawarich database container from dockcheck updates
Added dawarich_db to the exclusion list to prevent automatic updates
of the database container, ensuring data integrity and preventing
potential downtime during automated container updates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 11:12:12 -06:00
e3f4eb4e95 fix: update manyfold template to use proper vault variables and standardize configuration
- Fixed manyfold deployment error by updating template to use vault_manyfold.secret_key instead of undefined manyfold_key
- Standardized template to use centralized variables for domains, network, and hairpin configuration
- Added proper OIDC configuration using vault_manyfold.oidc structure

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 18:06:06 -06:00
a8350459ae feat: enable automatic container updates with dockcheck labels
- Configure dockcheck for automatic updates instead of check-only mode
- Add dockcheck update labels to Calibre and Changedetection services
- Enable OnlyLabel and AutoMode for targeted container management

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 14:51:37 -06:00
eac67e269c fix: add Gotify hairpin to AppriseAPI for notification delivery
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 16:42:12 -06:00
85cfca08f5 fix: improve dockcheck cron job logging and reliability
- Added comprehensive logging to /var/log/dockcheck/dockcheck.log
- Created wrapper script to avoid cron variable escaping issues
- Added timestamp logging for each execution with exit codes
- Created proper log directory with correct permissions
- Removed unnecessary -n flag (config file handles DontUpdate=true)
- Added cron handlers for service management

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 10:30:51 -06:00
2cc05a19e6 fix: add Gotify hairpin to changedetection services
- Add extra_hosts entry for changedetection service to reach Gotify
- Add extra_hosts entry for sockpuppetbrowser service to reach Gotify
- Resolves internal routing issues for Gotify notifications

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 17:18:30 -06:00
d54d04bcc9 feat: add dockcheck cron job for container update notifications
- Install dockcheck.sh script in user's .local/bin directory
- Create notification templates directory with notify_v2.sh and notify_gotify.sh
- Configure Gotify notifications for container update alerts
- Add minimal config with DontUpdate=true (notification only)
- Exclude authentik-postgresql-1 and dawarich_redis from checks
- Schedule daily cron job at 8:00 AM as phil user
- Add dockcheck Gotify token to vault secrets

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 16:54:32 -06:00
5f76f69d8b fix: complete Dawarich architecture with Redis and Sidekiq services
- Add Redis service for caching and background job processing
- Add Sidekiq worker service for background tasks
- Update to tagged version 0.28.1 for stability
- Fix Redis URL format to resolve parsing errors
- Remove incorrect volume mounts and SQLite paths
- Add proper service dependencies and health checks
- Use vault variable for SECRET_KEY_BASE security

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 16:04:46 -06:00
ef5309363c Update Dawarich to latest (0.28.1) and Glance to latest (v0.8.4) 2025-06-19 15:09:35 -06:00
ff89683038 feat: add Gotify notification server with iGotify iOS support
Add comprehensive push notification infrastructure with:
- Gotify server for push notifications with admin password configuration
- iGotify Assistant service for iOS notification relay via Apple Push Notifications
- Dual subdomain setup (gotify.* and gotify-assistant.*)
- Proper service dependencies and container communication via hairpinning
- Caddy reverse proxy configuration for both services
- DNS A records for both subdomains
- Added to monitoring services category
- Tested with successful notification delivery

Services accessible at:
- https://gotify.thesatelliteoflove.com (main server)
- https://gotify-assistant.thesatelliteoflove.com (iOS assistant)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 12:46:51 -06:00
a338186a77 feat: remove Conduit Matrix service
Remove all traces of the Conduit Matrix homeserver service including:
- Delete conduit-compose.yml.j2 template and conduit.yml task file
- Remove conduit from development services category
- Remove conduit Caddy reverse proxy configuration
- Remove conduit subdomain from domains.yml
- Remove conduit DNS A record from Route53
- Delete Matrix well-known files (client/server)
- Update all documentation from 25 to 24 services

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 11:39:15 -06:00
8710ffc70d feat: update documentation and infrastructure configuration
- Update service count from 22+ to 25 across documentation
- Add vault.yml to gitignore for security
- Add notifications configuration for AppriseAPI integration
- Add jq package to common role dependencies
- Add hairpin networking fix for AppriseAPI chat subdomain access
- Remove diun service references from monitoring category
- Update project completion status in todo.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 21:10:30 -06:00
a98fae0b92 feat: update container versions for Baikal, Karakeep, and Postiz
- Update Baikal to v0.10.1 (PostgreSQL support, PHP 8.4 compatibility)
- Update Karakeep to v0.25.0 (Safari extension, PDF screenshots, bulk tag deletion)
- Update Postiz to v1.48.4 (AI image generation, drag-drop uploads, enhanced platform support)

All services tested and running successfully with no errors.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 21:04:24 -06:00
d05bac8651 fix: add NEXT_API_DEBUG_MODE environment variable to MMDL
Resolves calendar creation issue where clicking save would fail with
'Cannot read properties of undefined (Reading 'toUpperCase')' error.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:37:08 -06:00
c500790ea3 feat: update Glance to v0.8.3
- Updated image version from latest to v0.8.3
- Deployed and verified successful upgrade
- New features available: theme picker, authentication, to-do widget

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-07 12:49:44 -06:00
2e4c096bbe feat: complete variable management implementation and update documentation
- Update remaining Docker Compose templates with centralized variables
- Fix service tag isolation to deploy individual services only
- Update all README files with variable management architecture
- Document variable hierarchy in DEPLOYMENT_LEARNINGS.md
- Add comprehensive variable usage patterns to CLAUDE.md
- Standardize domain references using {{ subdomains.* }} pattern
- Replace hardcoded network names with {{ docker.network_name }}
- Update hairpinning configuration to use variables

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 15:45:52 -06:00
12582b352c feat: implement comprehensive variable management system
- Create standardized group_vars directory structure
- Add domains.yml with centralized subdomain mappings
- Add infrastructure.yml with network, SMTP, and path config
- Reorganize vault.yml secrets by service with consistent naming
- Update 15+ Docker compose templates to use new variable structure
- Simplify playbook commands by removing --extra-vars requirement
- Replace hardcoded domains/IPs with template variables
- Standardize secret references across all services

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 15:14:47 -06:00
8d686c2aa5 feat: update GoToSocial to 0.19.1 and add Wazero cache
- Update image from latest to 0.19.1 (latest release from Codeberg)
- Add GTS_WAZERO_COMPILATION_CACHE for improved performance
- Use full docker.io registry path as per reference configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 14:46:28 -06:00
249eb52ceb feat: update Dawarich to 0.27.3 and align with production configuration
- Update image from latest to 0.27.3
- Remove Redis and Sidekiq services (now uses SQLite queues)
- Add storage volume and database paths for SQLite queues
- Align with production compose file reference
- Document reference configuration in CLAUDE.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 14:40:13 -06:00
ef4f49fafb feat: update Authentik to version 2025.6.1
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 14:22:34 -06:00
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