Skip to content

Conversation

@mhgbrown
Copy link
Collaborator

@mhgbrown mhgbrown commented Dec 8, 2025

Summary

This PR introduces a fully containerized local development environment for the Wave service, integrated directly into the docker-compose setup. It automates the exposure of the local Wave instance via a Cloudflare Tunnel, allowing for seamless webhook handling and interaction with the Drips app during development.

Key Changes

  • Docker Infrastructure:
    • Added wave and postgres-wave services to docker-compose.yml to run the Wave backend and its database locally.
    • Added cloudflared service with a custom Dockerfile and entrypoint to automatically create and manage a public tunnel for the local Wave service.
  • Automation & Scripts:
    • Created docker/detect-wave.sh to automatically detect access to the Wave Docker image and configure environment profiles.
    • Added docker/wave-command.sh to handle the startup synchronization between Cloudflare (waiting for the public URL) and the Wave service.
    • Updated docker/start-dev.sh and docker/start-e2e.sh to include Wave detection logic.
  • Configuration:
    • Refactored .env.template to include necessary configuration for Wave and Cloudflare (e.g., WAVE_PUBLIC_URL, POSTGRES_WAVE_URL).
    • Implemented logic to dynamically inject the Cloudflare-generated URL into the Wave service configuration, ensuring webhooks and callbacks work correctly without manual intervention.
  • Documentation:
    • Added docs/WAVE_SERVICE_SETUP.md providing a comprehensive guide on setting up and troubleshooting the local Wave environment.

Technical Details

  • Synchronization: Uses a shared volume and sentinel file mechanism to ensure the Wave service only starts after cloudflared has successfully established a tunnel and generated a public URL.
  • Environment Handling: Improved handling of multiline environment variables (like SSH keys) in start scripts.
  • Networking: Configured internal Docker networking to allow the App to communicate with the Wave API directly or via the public tunnel as needed.

@railway-app
Copy link

railway-app bot commented Dec 8, 2025

🚅 Deployed to the app-pr-1774 environment in Drips App

Service Status Web Updated (UTC)
App ✅ Success (View Logs) Web Dec 31, 2025 at 11:17 am

@mhgbrown mhgbrown changed the title Mhgbrown/add wave to local Add Wave to local dev environment Dec 8, 2025
@railway-app railway-app bot temporarily deployed to App (Drips App / app-pr-1774) December 8, 2025 13:51 Destroyed
@railway-app railway-app bot temporarily deployed to App (Drips App / app-pr-1774) December 8, 2025 16:48 Destroyed
@railway-app railway-app bot temporarily deployed to App (Drips App / app-pr-1774) December 8, 2025 17:00 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 9, 2025 12:05 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 9, 2025 15:09 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 9, 2025 16:03 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 10, 2025 13:42 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 10, 2025 13:46 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 10, 2025 15:50 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 10, 2025 16:05 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 11, 2025 12:21 Destroyed
@mhgbrown mhgbrown marked this pull request as ready for review December 11, 2025 13:32
@mhgbrown mhgbrown force-pushed the mhgbrown/add-wave-to-local branch from 03299bb to c8ad271 Compare December 15, 2025 14:28
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 15, 2025 14:28 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 15, 2025 15:10 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 15, 2025 15:40 Destroyed
@mhgbrown mhgbrown force-pushed the mhgbrown/add-wave-to-local branch from a9f2cea to 1691748 Compare December 16, 2025 11:39
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 16, 2025 11:39 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 16, 2025 12:49 Destroyed
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 16, 2025 13:59 Destroyed
Morgan Brown added 25 commits December 31, 2025 13:11
@mhgbrown mhgbrown force-pushed the mhgbrown/add-wave-to-local branch from f246da3 to 787d651 Compare December 31, 2025 11:11
@railway-app railway-app bot temporarily deployed to Drips App / app-pr-1774 December 31, 2025 11:11 Destroyed
@efstajas efstajas merged commit 6f55e88 into wave Jan 2, 2026
5 checks passed
@efstajas efstajas deleted the mhgbrown/add-wave-to-local branch January 2, 2026 13:30
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