Skip to content

Conversation

@cfsmp3
Copy link
Collaborator

@cfsmp3 cfsmp3 commented Jan 19, 2026

Summary

  • Fix Docker healthchecks to use wget instead of curl (curl is not available in Alpine-based containers)
  • Use 127.0.0.1 instead of localhost in healthchecks (localhost doesn't resolve correctly in some Alpine containers)
  • Fix syncserver healthcheck to check / instead of /health (taskchampion-sync-server doesn't have a /health endpoint)
  • Add /taskchampion/ path in nginx config for sync server access on standard port 443
  • Update example.frontend.env to use the new /taskchampion/ path as default

Changes

  1. docker-compose.yml: Fixed all three healthchecks
  2. production/example.nginx.conf: Added /taskchampion/ location block, marked port 8080 as legacy
  3. production/example.frontend.env: Updated to use /taskchampion/ path with legacy option documented

Benefits

  • Healthchecks now work correctly (containers show "healthy" instead of "unhealthy")
  • Users can access sync server on standard HTTPS port 443 via /taskchampion/ path
  • No need to open additional firewall port (8080) in production
  • Legacy port 8080 still supported for backward compatibility

Test plan

  • Run docker compose up -d and verify all containers show healthy status
  • Verify sync server accessible at /taskchampion/ path
  • Verify legacy port 8080 still works

🤖 Generated with Claude Code

- Fix healthchecks to use wget instead of curl (curl not available in Alpine)
- Use 127.0.0.1 instead of localhost (resolves correctly in containers)
- Fix syncserver healthcheck to use / instead of /health (no /health endpoint)
- Add /taskchampion/ path in nginx for sync server on standard port 443
- Update example.frontend.env to use new /taskchampion/ path

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link

Thank you for opening this PR!

Before a maintainer takes a look, it would be really helpful if you could walk through your changes using GitHub's review tools.

Please take a moment to:

  • Check the "Files changed" tab
  • Leave comments on any lines for functions, comments, etc. that are important, non-obvious, or may need attention
  • Clarify decisions you made or areas you might be unsure about and/or any future updates being considered.
  • Finally, submit all the comments!

More information on how to conduct a self review:
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request

This helps make the review process smoother and gives us a clearer understanding of your thought process.

Once you've added your self-review, we'll continue from our side. Thank you!

VITE_FRONTEND_URL="https://your-domain.com"
VITE_CONTAINER_ORIGIN="https://your-domain.com:8080/"
# Use standard port 443 with /taskchampion/ path (recommended)
VITE_CONTAINER_ORIGIN="https://your-domain.com/taskchampion/"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this works fine with the Setup Guide, backend env need not be updated, as Docker connects internally anyways.

@its-me-abhishek its-me-abhishek merged commit f6a92b5 into main Jan 19, 2026
6 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.

3 participants