A web based playground for testing and debugging Renovate configurations in real-time.
Features β’ Quick Start β’ Usage β’ Development β’ Docker β’ Contributing
- π§ͺ Test Configurations β Validate Renovate configs before deploying to production
- π Debug Issues β Real-time log streaming helps identify configuration problems
- π Visualize Updates β See package files, proposed updates, and branch information
- π Safe Experimentation β Dry-run mode enabled by default, no actual changes made
| Requirement | Version | Notes |
|---|---|---|
| Node.js | v22.x+ | Required |
| pnpm | Latest | Package manager |
| Docker/Podman | Any | Optional, for containerized deployment |
The fastest way to get started is using our pre-built Docker image:
podman run --platform linux/amd64 -p 8080:8080 ghcr.io/amadeusitgroup/renovate-playground:latestOpen your browser: Navigate to http://localhost:8080
π‘ Tip: Browse all available versions on the GitHub Container Registry.
If you prefer to build locally:
# Clone the repository
git clone https://github.com/AmadeusITGroup/renovate-playground.git
cd renovate-playground
# Install dependencies
pnpm install
# Start the application
pnpm startAccess at http://localhost:4200 (UI with hot reload) or http://localhost:8080 (API)
-
Repository URL β Enter the full GitHub repository URL
Example:https://github.com/owner/repo -
Personal Access Token β Provide a GitHub PAT with
reposcope -
Renovate Configuration β Enter your configuration in JSON format
-
Submit β Click submit to run Renovate in dry-run mode
-
View Results β Monitor real-time logs and analyze the results
For the below Dockerfile the following configuration is used which can be checked in the playground and verify whether the dependencies are picked.
# renovate: datasource=github-tags depName=node packageName=nodejs/node versioning=node
ENV NODE_VERSION=20.10.0
# renovate: datasource=github-releases depName=composer packageName=composer/composer
ENV COMPOSER_VERSION=1.9.3
# renovate: datasource=docker packageName=docker versioning=docker
ENV DOCKER_VERSION=19.03.1
# renovate: datasource=npm packageName=yarn
ENV YARN_VERSION=1.19.1{
"extends": ["config:recommended"],
"customManagers": [
{
"customType": "regex",
"description": "Update _VERSION variables in Dockerfiles",
"managerFilePatterns": [
"/(^|/|\\.)Dockerfile$/",
"/(^|/)Dockerfile\\.[^/]*$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-]+?)(?: depName=(?<depName>.+?))? packageName=(?<packageName>.+?)(?: versioning=(?<versioning>[a-z-]+?))?\\s(?:ENV|ARG) .+?_VERSION=(?<currentValue>.+?)\\s"
]
}
]
}| Command | Description |
|---|---|
pnpm start |
Start both UI and API (recommended for development) |
pnpm start:ui |
Start Angular UI only (port 4200) |
pnpm start:api |
Start NestJS API only (port 8080) |
pnpm build |
Build all applications |
pnpm test |
Run all tests |
pnpm lint |
Lint all projects |
pnpm format |
Format code with Prettier |
Run everything on port 8080:
pnpm start:apiAccess at http://localhost:8080
For Angular hot reload during development:
# Terminal 1 - API server
pnpm start:api
# Terminal 2 - UI dev server with hot reload
pnpm start:uiAccess at http://localhost:4200 (proxies API requests to port 8080)
# Build the image
docker build -t renovate-playground:latest .
# Run the container
docker run -p 8080:8080 renovate-playground:latestAccess at http://localhost:8080
podman build -t renovate-playground:latest .
podman run -p 8080:8080 renovate-playground:latestπ Note: The Docker image serves both the API and built UI from the same container on port 8080.
βββββββββββββββ βββββββββββββββ ββββββββββββββββ
β Browser ββββββΆβ Angular UI ββββββΆβ NestJS API β
β βββββββ βββββββ+Renovate CLI β
βββββββββββββββ βββββββββββββββ ββββββββββββββββ
- User Input β Enter repository URL, PAT, and Renovate configuration
- Backend Processing β NestJS spawns Renovate in dry-run mode
- Real-time Streaming β Logs streamed via Server-Sent Events (SSE)
- Results Display β View package files, updates, and branch info
renovate-playground/
βββ apps/
β βββ api/ # NestJS backend
β β βββ src/app/
β β βββ playground/ # Renovate execution service
β βββ ui/ # Angular frontend
β βββ src/
βββ Dockerfile # Multi-stage production build
βββ nx.json # Nx workspace configuration
βββ package.json # Dependencies and scripts
| Layer | Technology |
|---|---|
| Frontend | Angular 20, Amadeus Design Factory |
| Backend | NestJS 11, Renovate, Node.js child processes |
| Build | Nx monorepo, pnpm |
| Container | Docker / Podman |
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
See LICENSE for details.
