Skip to content

Conversation

terabytesoftw
Copy link
Member

@terabytesoftw terabytesoftw commented Sep 2, 2025

Q A
Is bugfix ✔️
New feature
Breaks BC

Summary by CodeRabbit

  • New Features
    • Default local server now uses HTTPS with TLS on port 8443.
    • Server root moved to the web directory and PHP entrypoint updated accordingly.
  • Documentation
    • Quick Start and Docker examples updated to use HTTPS on 8443, TLS env vars, and revised sample URLs/paths.
  • Tests
    • Acceptance tests updated to target HTTPS on port 8443.
  • Chores
    • CI/build pipeline aligned to the unified server configuration.

Copy link

coderabbitai bot commented Sep 2, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Switches server configuration from CaddyfileCli to Caddyfile, enables HTTPS on port 8443 with local TLS certs, updates FrankenPHP worker path and document root to ./web, removes CaddyfileCli, updates CI to use Caddyfile, updates README Docker examples, and points acceptance tests to https://localhost:8443.

Changes

Cohort / File(s) Summary
Caddy / FrankenPHP configs
Caddyfile, CaddyfileCli
Caddyfile: add https_port 8443, set root ./web, set frankenphp { worker ./web/index.php }, add tls ./web/ssl/localhost.pem ./web/ssl/localhost-key.pem. CaddyfileCli removed (previous HTTP site, intercept handling, and PHP routing deleted).
CI workflow
.github/workflows/build.yml
Codeception FrankenPHP startup changed from --config ./CaddyfileCli to --config ./Caddyfile (background run and output redirection unchanged).
Tests
tests/Acceptance.suite.yml
PhpBrowser URL updated from http://127.0.0.1:8080 to https://localhost:8443/ (host→localhost, protocol→HTTPS, port→8443).
Docs
README.md
Quick start and Docker examples updated to reference Caddyfile, TLS envs added, SERVER_NAME set to https://localhost:8443, SERVER_ROOT ./web, adjusted ports/volumes and example notes (basic-frankenphpapp-basic).

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant U as User Browser
    participant C as Caddy (HTTPS :8443)
    participant F as FrankenPHP Worker
    participant A as App (./web/index.php)

    U->>C: HTTPS request to https://localhost:8443/...
    Note over C: TLS handshake using ./web/ssl cert/key
    C->>F: Forward PHP request (document root ./web)
    F->>A: Execute ./web/index.php
    A-->>F: App response
    F-->>C: Response to Caddy
    C-->>U: HTTPS response
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

A rabbit taps ports with a gentle paw,
8443 answers—soft HTTPS awe.
Certs in the burrow, keys tucked in bed,
Caddy hums warmly while tests leap ahead.
FrankenPHP serves carrots and PHP instead. 🥕

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-mini-67

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@terabytesoftw terabytesoftw added the bug Something isn't working label Sep 2, 2025
…le` and adjust Docker run commands for improved server configuration.
@terabytesoftw
Copy link
Member Author

@coderabbitai review

Copy link

coderabbitai bot commented Sep 2, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (2)
.github/workflows/build.yml (1)

31-31: Pin remote install script or verify checksum.

Piping an unpinned remote script to sh is a supply-chain risk. Pin a version or verify SHA256.

Caddyfile (1)

18-18: Restore env override for document root.

Retain flexibility by honoring SERVER_ROOT with a sensible default.

-    root ./web
+    root {$SERVER_ROOT:./web}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between c284641 and 4fc1f5c.

⛔ Files ignored due to path filters (2)
  • web/ssl/localhost-key.pem is excluded by !**/*.pem
  • web/ssl/localhost.pem is excluded by !**/*.pem
📒 Files selected for processing (5)
  • .github/workflows/build.yml (1 hunks)
  • Caddyfile (1 hunks)
  • CaddyfileCli (0 hunks)
  • README.md (1 hunks)
  • tests/Acceptance.suite.yml (1 hunks)
💤 Files with no reviewable changes (1)
  • CaddyfileCli
🔇 Additional comments (5)
tests/Acceptance.suite.yml (1)

10-10: Disable SSL verification for self-signed certs in PhpBrowser config
Self-signed TLS will fail Guzzle’s default validation (app.studyraid.com). In your tests/Acceptance.suite.yml, under modules.config.PhpBrowser, add:

modules:
  config:
    PhpBrowser:
      url: https://localhost:8443/
      verify: false

If verify isn’t supported by your Codeception version, instead disable via curl options:

      curl:
        CURLOPT_SSL_VERIFYPEER: false
        CURLOPT_SSL_VERIFYHOST: false

Confirm which option your Codeception version accepts.

Caddyfile (2)

4-4: HTTPS port set to 8443; update UDP mapping for HTTP/3.

Since TLS listens on 8443, QUIC should also expose 8443/udp (not 443/udp). README examples should match.


7-7: Verify worker path exists.

Confirm ./web/index.php is present in the repo/CI image; otherwise PHP routing will 404.

README.md (2)

82-82: Good switch to unified Caddyfile.


102-103: Helpful path note.

@terabytesoftw
Copy link
Member Author

@coderabbitai review

Copy link

coderabbitai bot commented Sep 2, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (2)
README.md (2)

90-97: Windows/Gitbash Docker mapping and TLS envs look correct.
TCP+UDP exposed on 8443 match https_port; envs align with TLS on localhost.


120-120: Protocol corrected to HTTPS — thanks for fixing.
Matches TLS on 8443.

🧹 Nitpick comments (1)
README.md (1)

108-115: Fix trailing spaces after backslash (Linux/WSL snippet).
The extra spaces after the backslash on Line 115 can break line continuation when copy-pasted.

Apply:

-  -p 8443:8443/udp \  
+  -p 8443:8443/udp \
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4fc1f5c and 091e179.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🔇 Additional comments (2)
README.md (2)

82-82: CLI now uses Caddyfile — good switch.
./frankenphp run --config ./Caddyfile --watch aligns with the new config approach.


102-102: Note update is fine.
No action needed.

@terabytesoftw terabytesoftw merged commit 0b06d00 into franken-php Sep 2, 2025
10 checks passed
@terabytesoftw terabytesoftw deleted the fix-mini-67 branch September 2, 2025 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant