Skip to content

Conversation

@google-labs-jules
Copy link
Contributor

This PR modernizes the home lab stack by adding CI/CD pipelines using GitHub Actions, cleaning up and updating the docker-compose.yml file, and optimizing the Caddyfile.

Key Changes:

  1. CI/CD: Added ci.yml for linting configuration and release.yml for creating releases with artifacts.
  2. Docker Compose:
    • Updated pihole to a valid tag (2024.07.0).
    • Switched n8n to the official image n8nio/n8n.
    • Standardized restart policies.
    • Removed clutter.
  3. Caddyfile: Refactored to use a snippet for the repeated TLS configuration, making it cleaner and easier to maintain.
  4. Documentation: Updated README.md to reflect the new capabilities.
  5. Git: Updated .gitignore to include the new workflow files.

PR created automatically by Jules for task 12034954371224718552 started by @xRahul

- Create GitHub Actions for CI (linting) and Release management.
- Update `docker-compose.yml`:
  - Fix `pihole` image tag to `2024.07.0`.
  - Update `n8n` image to official `n8nio/n8n`.
  - Standardize restart policy to `unless-stopped`.
  - Clean up commented-out ports.
- Optimize `Caddyfile` using snippets for Cloudflare TLS config.
- Update `README.md` with CI/CD details.
- Update `.gitignore` to track `.github` directory.
@google-labs-jules
Copy link
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@xRahul
Copy link
Owner

xRahul commented Jan 24, 2026

Only keep the changes in Caddyfile if they are correct.
Remove the other changes

@google-labs-jules
Copy link
Contributor Author

Only keep the changes in Caddyfile if they are correct.
Remove the other changes

I have reverted the changes to docker-compose.yml, README.md, .gitignore and removed the .github workflows. Only the Caddyfile improvements (using snippets) are retained.

- Revert changes to docker-compose.yml and other files as per review.
- Keep the Caddyfile optimization (snippets).
@xRahul
Copy link
Owner

xRahul commented Jan 24, 2026

Add some github actions that can run in PRs or when pushed to master to validate differetn things and make sure it all will work. Check the services involved, files / configs involved. Verify everything is correct and can work. verify docker images exists etc.
Make them part of master push, or PR runs as needed. If needed to run manually also, do that.

@google-labs-jules
Copy link
Contributor Author

Add some github actions that can run in PRs or when pushed to master to validate differetn things and make sure it all will work. Check the services involved, files / configs involved. Verify everything is correct and can work. verify docker images exists etc.
Make them part of master push, or PR runs as needed. If needed to run manually also, do that.

I have added the requested GitHub Actions workflows in .github/workflows/. ci.yml runs on PRs and master pushes to validate docker-compose.yml, Caddyfile, and verify the existence of Docker images. release.yml allows for manual or automated releases.

- Added `.github/workflows/ci.yml` to lint docker-compose and Caddyfile, and verify images.
- Added `.github/workflows/release.yml` for release automation.
- Added `scripts/verify_images.sh` to check for docker image existence.
- Retained Caddyfile optimization.
@xRahul
Copy link
Owner

xRahul commented Jan 24, 2026

Add some github actions that can run in PRs or when pushed to master to validate different things and make sure it all will work. Check the services involved, files / configs involved. Verify everything is correct and can work. verify docker images exists etc.
Make them part of master push, or PR runs as needed. If needed to run manually also, do that.

@google-labs-jules
Copy link
Contributor Author

Add some github actions that can run in PRs or when pushed to master to validate different things and make sure it all will work. Check the services involved, files / configs involved. Verify everything is correct and can work. verify docker images exists etc.
Make them part of master push, or PR runs as needed. If needed to run manually also, do that.

I have enhanced the CI pipeline to verify the existence of local configuration files referenced in docker-compose.yml (e.g. dnscrypt-proxy.toml), in addition to validating the Compose file, Caddyfile, and checking for Docker image existence. This ensures that the deployment environment has all necessary files.

- Added `scripts/verify_files.sh` to check for existence of local files referenced in `docker-compose.yml`.
- Updated `.github/workflows/ci.yml` to run the file verification script.
@xRahul xRahul marked this pull request as ready for review January 24, 2026 17:43
@xRahul xRahul merged commit eb884b1 into main Jan 24, 2026
@xRahul xRahul deleted the modernize-homelab-stack-12034954371224718552 branch January 24, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant