Skip to content

Cleanup: prune .env, name project, add compose-validate CI#35

Merged
joshdev8 merged 1 commit into
mainfrom
chore/cleanup-quick-wins
May 13, 2026
Merged

Cleanup: prune .env, name project, add compose-validate CI#35
joshdev8 merged 1 commit into
mainfrom
chore/cleanup-quick-wins

Conversation

@joshdev8
Copy link
Copy Markdown
Owner

@joshdev8 joshdev8 commented May 13, 2026

Summary

A pass of low-risk repo hygiene now that the bigger refactors have landed:

  • .env.example — remove the ~dozen vars no service in docker-compose.yml actually reads (OPENVPN_*, DOCKER_INFLUXDB_*, RADARR_URL/RADARR_API_KEY, SONARR_URL/SONARR_API_KEY, EMAIL, PASSWORD, HTTP_USERNAME/HTTP_PASSWORD, DOMAIN/DOMAINNAME, TRANSMISSION_USERNAME/TRANSMISSION_PASSWORD, PLEX_ADVERTISE_IP, PLEX_TOKEN, TELEGRAF_CFG_PATH, and the lonely PATH= line). Group the rest by service with brief comments. This is what tripped up the user in discussion #4.
  • docker-compose.yml — add top-level name: autoplexx so the project name is stable regardless of the directory the file is invoked from.
  • prometheus/prometheus.ymldocs/prometheus.example.yml — there's still no prometheus service in compose; the rename makes the example-only status obvious. CLAUDE.md updated to match.
  • CI — new .github/workflows/compose-validate.yml runs docker compose config --quiet on every PR that touches docker-compose.yml or .env.example. Mirrors the validation step the CONTRIBUTING guide already asks contributors to run locally.

Type of change

  • Repo hygiene / config (chore/)
  • Documentation (docs/)

Validation

  • docker compose config --quiet passes locally with cp .env.example .env + filled-in Tracearr secrets
  • Simulated the new CI workflow's exact sequence locally — exit 0
  • No new env vars; the removed ones were unused before this PR
  • CLAUDE.md env-var contract section reflects the smaller surface

Related

Follows up on #32, #33, and #34. Resolves the env-file confusion raised in discussion #4.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added automated Docker Compose configuration validation to catch configuration errors early
  • Documentation

    • Simplified environment template, keeping only essential variables and removing redundant examples
    • Updated configuration guidance documentation to clarify current stack behavior and requirements
  • Chores

    • Added Docker Compose project name identifier

Review Change Stack

- .env.example: remove ~dozen vars no service consumes (OPENVPN_*,
  DOCKER_INFLUXDB_*, RADARR_*/SONARR_* URLs/keys, EMAIL/PASSWORD,
  HTTP_*, DOMAIN*, TRANSMISSION_USERNAME/PASSWORD, PLEX_ADVERTISE_IP,
  PLEX_TOKEN, TELEGRAF_CFG_PATH, the bare PATH= line). Group the rest
  by service with brief comments. Real values must be filled in,
  not just rely on placeholders.
- docker-compose.yml: add top-level `name: autoplexx` so `docker
  compose` commands aren't sensitive to the directory name when
  running outside this checkout.
- prometheus/prometheus.yml -> docs/prometheus.example.yml. There is
  still no `prometheus` service in compose; the rename makes its
  example-only status obvious.
- New workflow .github/workflows/compose-validate.yml runs `docker
  compose config` on every PR that touches compose or .env.example,
  matching the validation step the CONTRIBUTING guide tells authors
  to run locally.
- CLAUDE.md: update env-var contract (no more "documented but unused"
  category) and point at the new prometheus path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 13, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 30d642ce-6d17-4d26-88e2-f553fcf7dfdb

📥 Commits

Reviewing files that changed from the base of the PR and between 03efe22 and 84494ed.

📒 Files selected for processing (5)
  • .env.example
  • .github/workflows/compose-validate.yml
  • CLAUDE.md
  • docker-compose.yml
  • docs/prometheus.example.yml

📝 Walkthrough

Walkthrough

This PR refactors the environment template to include only essential configuration variables for the active stack, updates documentation to clarify the new contract, adds a Docker Compose validation workflow, and defines the project name. Obsolete service credentials and placeholder variables are removed from .env.example.

Changes

Configuration Stack Refactor

Layer / File(s) Summary
Environment template cleanup
.env.example
.env.example rewritten to retain only active stack essentials: common container settings (PUID, PGID, TZ, USERDIR), Plex claim, Grafana port, Tracearr secrets/CORS, and Kometa/PMM configuration. Removed large blocks of dummy credentials for unrelated services (Radarr, Sonarr, Transmission, OpenVPN, InfluxDB, Telegraf).
Documentation and configuration contract
CLAUDE.md
Prometheus guidance clarified to state no prometheus service exists in the active stack and directs users to docs/prometheus.example.yml. Environment variables categorized into hard-required Tracearr secrets and effectively-required feature variables; prior "documented but unused" list removed. Unrecognized variables noted as coming from older stack versions no longer consumed.
Compose validation and project naming
docker-compose.yml, .github/workflows/compose-validate.yml
Docker Compose receives top-level project name autoplexx. New GitHub Actions workflow validates compose configuration on PRs and pushes by copying .env.example to .env, appending required secret placeholders for interpolation, and running docker compose config --quiet to ensure validity.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • joshdev8/AutoPlexx#32: Introduced initial CLAUDE.md guidance; this PR revises the .env and Prometheus contract sections to align with the updated .env.example.

Poem

🐰 A template once vast, now lean and clean,
Only the essentials left on the scene,
Old secrets removed, the future made bright,
Validation wheels spinning to keep it just right!
The stack takes its name, autoplexx so fine,
Order emerging where chaos did dine. ✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/cleanup-quick-wins

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@joshdev8 joshdev8 merged commit 78938c3 into main May 13, 2026
1 of 2 checks passed
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