Skip to content

docs: add HTTPS production deployment guide with nginx reverse proxy#402

Merged
its-me-abhishek merged 1 commit intomainfrom
add-production-https-config
Jan 19, 2026
Merged

docs: add HTTPS production deployment guide with nginx reverse proxy#402
its-me-abhishek merged 1 commit intomainfrom
add-production-https-config

Conversation

@cfsmp3
Copy link
Copy Markdown
Collaborator

@cfsmp3 cfsmp3 commented Jan 19, 2026

Summary

  • Add example frontend environment file (example.frontend.env)
  • Add nginx reverse proxy configuration for HTTPS deployment (example.nginx.conf)
  • Update production README with comprehensive HTTPS deployment guide

Changes

New Files

  • production/example.frontend.env: Example frontend environment variables for HTTPS deployment
  • production/example.nginx.conf: Complete nginx configuration with:
    • HTTP to HTTPS redirect
    • SSL termination using Let's Encrypt certificates
    • Proxy rules for all backend API routes (/auth/, /api/, /tasks, etc.)
    • WebSocket support for /ws endpoint
    • SSL termination for taskchampion sync server on port 8080

Updated Files

  • production/README.md: Reorganized into three deployment options:
    1. Docker (HTTP only, for local/development)
    2. Docker with nginx reverse proxy (HTTPS, recommended for production)
    3. Kubernetes

Why

Google OAuth requires HTTPS redirect URIs for production deployments (HTTP is only allowed for localhost). This guide provides a complete, tested configuration for deploying CCSync with proper SSL support.

Test plan

  • Configuration tested on fresh Ubuntu 24.04 VPS
  • SSL certificates obtained via Let's Encrypt
  • All services (frontend, backend, syncserver) accessible via HTTPS
  • OAuth flow working with HTTPS redirect URI

🤖 Generated with Claude Code

Add configuration examples and documentation for deploying CCSync with
HTTPS using nginx as a reverse proxy with Let's Encrypt SSL certificates.

New files:
- production/example.frontend.env: Example frontend environment variables
- production/example.nginx.conf: nginx reverse proxy configuration with
  SSL termination for the main site (port 443) and sync server (port 8080)

Updated:
- production/README.md: Reorganized into three deployment options:
  1. Docker (HTTP only, for local/dev)
  2. Docker with nginx reverse proxy (HTTPS, recommended for production)
  3. Kubernetes

The nginx config includes:
- HTTP to HTTPS redirect
- SSL configuration with modern cipher suites
- Proxy rules for all backend API routes
- WebSocket support for /ws endpoint
- SSL termination for taskchampion sync server on port 8080

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

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!

@its-me-abhishek its-me-abhishek merged commit d64701f 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.

2 participants