286 Commits

Author SHA1 Message Date
Kelin
db0004ecab Fix sed delimiter issues in ez-homelab.sh
- Change sed commands to use | delimiter instead of / to prevent regex interpretation of variables
- Fixes 'unknown option to s' errors when DOMAIN contains special characters like dots
- Affects deploy_core, deploy_dashboards, and Traefik dynamic config processing
2026-01-28 04:22:09 -05:00
Kelin
7c72b5fdc6 Replace hardcoded server IP with variable in Traefik local-host config
- Change all hardcoded 192.168.4.11 IPs to  for proper templating
- Ensures config works for any server IP during deployment
2026-01-28 03:34:26 -05:00
Kelin
a22b44fe0d Update Traefik dynamic config templates to match working local configuration
- Rename external-host-production.yml to local-host-production.yml
- Update local-host-production.yml with complete service list from working setup, generalized with variables
- Update sablier.yml with complete middleware list from working setup, generalized with variables
- Ensure all  and  placeholders are properly templated for script deployment
2026-01-28 03:34:26 -05:00
Kelin
d62ea7f3df Update core docker-compose.yml to match working local configuration
- Change sablier volumes to use ./shared-ca:/certs:ro (matches script generation)
- Fix x-dockge URLs to use http:// for local access and correct variable syntax
- Ensure consistency with local working setup
2026-01-28 03:32:50 -05:00
Kelin
9ac61658a4 Fix placeholder replacement in deploy_core and deploy_dashboards functions
- Add manual sed replacements for remaining , ,  placeholders
- Ensure x-dockge URLs and other variables are properly substituted
- Improve robustness of environment variable replacement
2026-01-28 03:32:21 -05:00
kelinfoxy
bb19aeb9b1 Final updates to release notes for v0.1.0 2026-01-27 13:53:28 -05:00
kelinfoxy
1ca29f121d Simplify description to 'homelab infrastructure' for brevity 2026-01-27 13:46:53 -05:00
kelinfoxy
c124c764e0 Tone down 'production-ready' language to 'thoroughly tested' for accuracy 2026-01-27 13:43:35 -05:00
kelinfoxy
4adaeae7ce Update documentation for v0.1.0 release v0.1.0 2026-01-27 13:42:06 -05:00
kelinfoxy
552f0240b5 Docs update 2026-01-27 13:20:22 -05:00
kelinfoxy
ee93f26d52 Merge branch 'main' of https://github.com/kelinfoxy/EZ-Homelab 2026-01-26 23:45:56 -05:00
kelinfoxy
916e970994 Docs update 2026-01-26 23:45:28 -05:00
Kelin
ea91151829 Minor fixes and improvements to ez-homelab.sh 2026-01-26 23:24:23 -05:00
Kelin
7b70675aa1 Update README.md documentation 2026-01-26 19:51:44 -05:00
Kelin
1a78578be3 Update Docker Compose files for various stacks 2026-01-26 19:11:16 -05:00
Kelin
7eb0e97393 Add multi-server TLS setup instructions to manual setup guide 2026-01-26 18:38:53 -05:00
Kelin
62454130db Fix multi-server TLS setup to support password authentication and improve error handling 2026-01-26 18:16:35 -05:00
Kelin
e2d28b5208 feat: Improve TLS handling for multi-server deployments
- Add CORE_SERVER_IP variable for remote server configuration
- Implement setup_multi_server_tls() function for shared CA management
- Change TLS failure handling from exit-on-error to warning-based approach
- Add TLS_ISSUES_SUMMARY for end-of-deployment remediation guidance
- Update documentation for automated TLS setup process
- Add comprehensive AI assistant instructions for project management

This allows deployments to complete successfully even with TLS issues,
providing clear remediation steps instead of failing the entire setup.
2026-01-26 16:34:25 -05:00
Kelin
3076232e8f Fix permission errors in perform_deployment() function
- Use sudo for creating /opt directories during deployment
- Use sudo for copying files to /opt/dockge and /opt/stacks
- Ensure proper ownership of deployment directories
- Fix mkdir command for dashboards directory
2026-01-26 00:08:41 -05:00
Kelin
52e0697311 Fix share_certs_with_core() to handle missing shared CA gracefully
- Check if shared CA exists on core server before attempting to copy
- Generate local shared CA if core server doesn't have certificates
- Provide clear instructions for manual certificate synchronization
- Remove script failure when certificates can't be copied
- Allow infrastructure deployment to continue with local CA generation
2026-01-26 00:05:26 -05:00
Kelin
89ca29918b Implement shared CA certificate system for multi-server TLS security
- Generate shared CA during core deployment for consistent trust across servers
- Modify setup_docker_tls() to use shared CA instead of per-server CAs
- Update share_certs_with_core() to copy shared CA from core server
- Re-enable TLS verification (DOCKER_TLS_VERIFY=1) in Sablier
- Fix Sablier certificate mounting for proper TLS connection
- Add docker-tls/ to .gitignore to prevent certificate leaks
- Update documentation for shared CA approach
2026-01-25 23:08:01 -05:00
kelinfoxy
1b3c4ff9ff Remove temporary wiki working directories
- Removed wiki-check/ and wiki-update/ directories that were created during wiki maintenance
- These were temporary working directories and shouldn't be in the repository
2026-01-25 12:59:48 -05:00
kelinfoxy
0e707c5739 Add wiki working directories to .gitignore
- Added wiki-*/ and wiki-repo/ patterns to ignore temporary wiki folders
- These directories are created during wiki maintenance and shouldn't be tracked
2026-01-25 12:59:45 -05:00
kelinfoxy
331841fdbe wiki update 2026-01-25 12:35:16 -05:00
EZ-Homelab
bb65f68571 refactor: Rename docker-compose files to use .yml extension
- Rename transcoders/docker-compose.yaml to .yml
- Rename wikis/docker-compose.yaml to .yml
- Maintains consistency with other docker-compose files in the project

Standardizes file extensions across all Docker Compose configurations.
2026-01-24 23:42:31 -05:00
kelinfoxy
08b184aea7 Standardize Compose Files 2026-01-24 23:11:05 -05:00
kelinfoxy
13e3619cef Homepage config update 2026-01-24 22:05:43 -05:00
kelinfoxy
a59862c988 Documentation updates 2026-01-24 21:40:51 -05:00
EZ-Homelab
a1c9a0958b feat: Add Sablier lazy loading to Jupyter service
- Add Sablier middleware configuration to Jupyter in productivity stack
- Update .gitignore to properly ignore service data files
- Ignore database files, logs, settings.json, and key files

Jupyter now supports on-demand startup via Sablier middleware.
2026-01-24 21:22:49 -05:00
EZ-Homelab
9e5c09bd2a fix: Ensure ez-homelab.sh copies config directories for all stacks
- Add config directory copying to setup_stacks_for_dockge() function
- Add config directory copying to infrastructure deployment
- Fixes monitoring stack (prometheus/loki/promtail) config file issues
- Ensures all service configs are properly deployed

All stacks now have their configuration files copied during setup.
2026-01-24 21:16:30 -05:00
EZ-Homelab
5e7fe08652 feat: Complete Sablier lazy loading implementation
- Add Sablier middleware to all 32 services across stacks
- Update vaultwarden port from 80 to 8091 to avoid conflicts
- Add tdarr-server and unmanic services with lazy loading
- Optimize health checks (wget for some services, dozzle built-in)
- Update Traefik routers and service definitions
- Update port documentation

All services now support on-demand startup via Sablier middleware.
2026-01-24 20:20:11 -05:00
EZ-Homelab
602dc3d12d Add comprehensive health checks for Sablier lazy loading services
- Add health checks to all services using Sablier lazy loading
- Utilities stack: Backrest, Duplicati, Form.io, Vaultwarden
- Productivity stack: Nextcloud, WordPress, Gitea, BookStack, MediaWiki
- Media Management stack: Sonarr, Radarr, Prowlarr, Jellyseerr
- Infrastructure stack: Dozzle, Glances, Code Server
- Dashboards stack: Homarr
- Health checks use curl to service endpoints with 30s intervals
- Appropriate start_period delays for service initialization
- This resolves Sablier warnings about missing health checks
2026-01-24 17:26:52 -05:00
EZ-Homelab
53d4fc0d4b Resolve TasmoAdmin port conflict with MediaWiki
- Change MediaWiki from port 8084 to 8086 to resolve conflict with TasmoAdmin
- Update Traefik loadbalancer port for MediaWiki
- Add MediaWiki to ports-in-use.md documentation
- TasmoAdmin now uses port 8084, MediaWiki uses port 8086
2026-01-24 17:13:33 -05:00
EZ-Homelab
7a1cd5a8a0 Fix port conflicts and standardize service configurations
- Resolve port conflicts: TasmoAdmin (8084), Form.io (3002), Gitea (3010)
- Add missing Authelia SSO and Sablier lazy loading to utilities stack
- Standardize Form.io labels to match TRAEFIK CONFIGURATION guidelines
- Reorganize ports-in-use.md with stack-based table and proper column order
- Remove Dokuwiki deployment from ez-homelab.sh (already in productivity stack)
- Update service restart policies for lazy loading compatibility
2026-01-24 17:01:53 -05:00
EZ-Homelab
7449c14ac6 Remove Bitwarden authelia middleware and simplify networks
- Remove authelia middleware from Vaultwarden (Bitwarden) for app compatibility
- Simplify all compose files to use only homelab-network and traefik-network
- Remove unnecessary isolated networks (nextcloud-network, wordpress-network, etc.)
- Remove monitoring-network, formio-network, and media-network
- All services now communicate through the unified homelab-network
- Maintain traefik-network for proxied services only
2026-01-24 15:30:43 -05:00
EZ-Homelab
93ef87091a Enable Authelia middleware by default for all services
- Uncomment Authelia middleware for Vaultwarden (was disabled for app compatibility but should use SSO by default)
- Verify all other services have Authelia middleware except:
  - Jellyfin (media app access)
  - Plex (media app access)
  - Authelia itself (authentication service)
- All x-dockge sections are properly formatted with urls list
2026-01-24 15:24:10 -05:00
EZ-Homelab
c5d54c6bc7 Fix variable substitution patterns: remove :-default fallbacks
- Replace all ${VARIABLE:-default} with ${VARIABLE} in compose files
- Ensure explicit variable requirements without default values
- Updated 10 docker-compose.yml files across all stacks
- Made reset-ondemand-services.sh executable
2026-01-24 15:20:31 -05:00
EZ-Homelab
1949fe3c2e Fix mediawiki loadbalancer port to match external host (8084) 2026-01-24 15:14:27 -05:00
EZ-Homelab
8997d1ce0c Fix productivity stack port conflicts
- Changed Nextcloud port from 80 to 8099
- Changed Mealie port from 9000 to 9001
- Changed WordPress port from 80 to 8089
- Changed Gitea port from 3000 to 3011
- Changed DokuWiki port from 80 to 8088
- Changed BookStack port from 80 to 6876
- Updated all corresponding Traefik loadbalancer ports
- Resolved conflicts with external host services in external-host-production.yml
2026-01-24 15:01:36 -05:00
EZ-Homelab
a0bb477d8c Update media-management compose: unified Sablier groups, x-dockge format
- Changed all Sablier groups to ${SERVER_HOSTNAME}-arr for coordinated lazy loading
- Moved x-dockge URLs to top-level section with urls list format
- Added both HTTPS and localhost URLs for service discovery
- Updated guidelines and instructions to reflect new x-dockge format
2026-01-24 14:46:50 -05:00
EZ-Homelab
e533b6cdeb feat: standardize Traefik configuration and update documentation
- Reorganize Sablier middlewares in alphabetical order with authelia first
- Add service definitions comment to external-host-production.yml
- Update docker-guidelines.md with comprehensive Traefik configuration:
  * Emphasize authelia SSO and sablier lazy loading as defaults
  * Add detailed remote server configuration instructions
  * Include complete TRAEFIK CONFIGURATION examples in service creation/modification guidelines
  * Expand remote server setup with YAML file examples
  * Update planning phase with Traefik considerations
  * Enhance documentation phase with HTTPS URLs and routing notes
2026-01-23 20:26:54 -05:00
EZ-Homelab
4fa35461be fix: complete TRAEFIK CONFIGURATION standardization for productivity stack
- Update remaining 6 services (mealie, wordpress, gitea, dokuwiki, bookstack, mediawiki) to new format
- Enable authelia middleware for mealie and wordpress (previously disabled)
- Ensure all services except Jellyfin have authelia@docker protection
- Maintain consistent label structure with service metadata, router config, and Sablier settings
2026-01-23 19:24:39 -05:00
EZ-Homelab
576419443d fix: standardize remaining TRAEFIK CONFIGURATION labels
- Update infrastructure services (dozzle, glances, code-server) to new format
- Update dashboards (homarr) to new format
- Update utilities (backrest, duplicati) to new format
- Update productivity (nextcloud) to new format
- Add authelia middleware to all services except Jellyfin
- Ensure consistent label structure across all stacks
2026-01-23 19:22:33 -05:00
EZ-Homelab
436ff0d035 fix: remove SERVER_HOSTNAME default values causing errors
- Change ${SERVER_HOSTNAME:-debian} to ${SERVER_HOSTNAME} in Sablier groups
- Prevents empty default values that were causing configuration errors
- Applied to dashboards, infrastructure, media, productivity, and utilities stacks
2026-01-23 18:50:10 -05:00
EZ-Homelab
3723cebe9c fix: resolve dockerproxy port 2375 conflict
- Remove port mapping from dockerproxy service
- Docker daemon already provides TCP API access on port 2375
- dockerproxy runs for security but doesn't expose conflicting port
- Resolves 'port already allocated' error during deployment
2026-01-23 18:29:52 -05:00
EZ-Homelab
28064ff385 fix: preserve Docker images in reset script
- Remove Docker image removal step to keep images cached
- Update step numbering and final warnings
- Maintains faster redeployment while still providing clean environment
2026-01-23 18:23:52 -05:00
EZ-Homelab
3e221bb3f2 feat: enhance reset-test-environment.sh for complete cleanup
- Stop and remove ALL containers (not just specific stacks)
- Remove ALL Docker images, volumes, and networks
- Completely remove /opt/stacks and /opt/dockge directories
- Updated warnings to reflect thorough cleanup
- Maintains safety checks and user confirmation
2026-01-23 18:22:43 -05:00
EZ-Homelab
d58f38ed80 fix: update dozzle host rule to include server hostname
- Change dozzle. to dozzle..
- Ensures unique hostname when multiple servers use same domain
2026-01-23 18:19:25 -05:00
EZ-Homelab
c8ffce2611 feat: standardize Traefik/Sablier labels across all stacks
- Add consistent # TRAEFIK CONFIGURATION headers to all services
- Standardize label structure with service metadata, router config, and Sablier settings
- Update dockerproxy and sablier-service with Docker API requirements documentation
- Fix YAML validation issues in productivity stack
- Ensure all stacks have uniform labeling for easy management

Resolves Docker API connectivity issues for Sablier lazy loading
2026-01-23 17:31:23 -05:00
EZ-Homelab
0f6d6c1583 Standardize media-management stack labels
- Updated readarr, lidarr, lazylibrarian, mylar3, jellyseerr, tdarr-server, unmanic
- Applied consistent TRAEFIK CONFIGURATION headers and comments
- Removed duplicate x-dockge.url labels from jellyseerr
- All media services now use standardized label format matching other stacks
2026-01-23 17:24:13 -05:00