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.

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