Skip to content

Conversation

ghost
Copy link

@ghost ghost commented Aug 25, 2025

This commit introduces a new service, worker-monitor, to both docker-compose-dev.yaml and docker-compose.yaml. The service uses the marble-worker-monitor container and is configured with environment variables for database connection and basic authentication. It also specifies a dependency on the db service.

Description

Introduce a new service for monitoring background tasks using River UI. The service displays the task history and allows interaction with the job queue, including cancelling or retrying tasks. It also provides debugging capabilities by showing error messages and argument values for each task.

Changes

  • Add River UI in docker-compose.yaml
  • Add River UI in docker-compose-dev.yaml

Additional Information

N/A

Screenshots

Capture d’écran 2025-08-25 à 10 52 26 Capture d’écran 2025-08-25 à 10 52 36 Capture d’écran 2025-08-25 à 10 53 49 Capture d’écran 2025-08-25 à 11 08 09 Capture d’écran 2025-08-25 à 11 08 40

Checklist

  • Tests passed
  • Manual QA done
  • Documentation updated

This commit introduces a new service, worker-monitor, to both docker-compose-dev.yaml and docker-compose.yaml. The service uses the marble-worker-monitor container and is configured with environment variables for database connection and basic authentication. It also specifies a dependency on the db service.
Copy link

linear bot commented Aug 25, 2025

@ghost
Copy link
Author

ghost commented Aug 25, 2025

@ghost ghost requested a review from Pascal-Delange August 25, 2025 10:09
- ${HOST_APP_PORT:-3000}:${APP_PORT:-8080}
environment:
<<: [*shared-env, *frontend-env]
worker-monitor:
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm wondering if we should recommend installation of this tool in a prod environment. Do you see any security risks @apognu ?

- ${WORKER_MONITOR_PORT:-8081}:8080
environment:
DATABASE_URL: "postgresql://postgres:${PG_PASSWORD:-changeme}@db:${PG_PORT:-5432}/marble"
RIVER_BASIC_AUTH_USER: ${RIVER_BASIC_AUTH_USER:-}
Copy link
Contributor

Choose a reason for hiding this comment

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

if we expose those configuration variables (also WORKER_MONITOR_PORT above), we should define and document them in the .env.example file. If I'm not getting this backwards (honestly it's tricky to remember), only env vars interpolated from the .env file are used in those ${ENV:-} blocks.

@Pascal-Delange
Copy link
Contributor

@OrriMandarin after thinking on this, I'd rather not suggest to our users to deploy this, and make the docker-compose file even more complex than necessary with this (very) optional element.
I propose that we close this PR, or perhaps replace by just a comment in the deployment guide indicating the existence of this tool to better visualize things.

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