Compare commits

..

16 Commits

Author SHA1 Message Date
e5fd6817e0 Removed forgotten volume mounts and port bindings in the docker-compose file 2026-01-21 15:02:01 -07:00
f9918cd5b3 Fixed typo in the justfile for pushing the prowlarr-mock image 2026-01-21 14:31:23 -07:00
f56813fd6e Updated docker-compose 2026-01-21 14:17:36 -07:00
52853c6fd6 Renamed services to *-mock 2026-01-21 13:55:30 -07:00
48c7af9b83 fix: Added some mock Pink Floyd files 2026-01-21 11:29:27 -07:00
6512117aca feat: Created the Lidarr mock and added a justfile 2026-01-21 11:18:37 -07:00
ab4c119e04 Updated mock arr container names 2025-11-20 10:43:15 -07:00
b2ae5bd9d9 feat: Update the configuration for Managarr v0.5.1 2025-02-28 22:22:25 -07:00
ea4cfeb42d Created a mock Sonarr container for the beta release 2024-12-13 19:39:43 -07:00
89f8a64b51 Reverted localhost -> radarr 2024-10-31 15:40:18 -06:00
358353f850 Updated the managarr config to use localhost instead of radarr 2024-10-31 15:09:11 -06:00
108ebf249c Attempting to fix weird error 2024-03-18 15:31:00 -06:00
1e67bd8fa7 Created dedicated radarr and prowlarr demo images and pushed them up to DockerHub, and updated the script to be a true one liner 2024-03-18 15:28:05 -06:00
41f1be92ee Updated the README to tell users to run the demo script instead of the direct docker compose command 2024-03-16 18:27:35 -06:00
eb3ce38562 Updated README to have up-to-date steps to clean up spare docker images 2024-03-16 18:25:51 -06:00
52d261b06f Updated README for cleanup steps 2024-03-16 18:22:03 -06:00
7554 changed files with 743035 additions and 6743 deletions
+1
View File
@@ -0,0 +1 @@
.idea
+57 -14
View File
@@ -3,6 +3,7 @@ A demo repository with a basic HTPC configuration for demonstration and testing
## One-Command Run
To clone the repo and run the demo all in one go, the following command will download the [managarr-demo](./managarr-demo.sh) script and run it:
```shell
curl https://raw.githubusercontent.com/Dark-Alex-17/managarr-demo/main/managarr-demo.sh > /tmp/managarr-demo.sh && bash /tmp/managarr-demo.sh
```
@@ -10,27 +11,69 @@ curl https://raw.githubusercontent.com/Dark-Alex-17/managarr-demo/main/managarr-
**Note**: This script will only work on systems with `bash` installed.
## Running the demo
To run this demo, simply run the following command:
To run this demo, simply run the [demo script](./managarr-demo.sh):
```shell
docker compose up --rm managarr && docker compose down
```
## Cleanup
This demo will download a handful of docker images. To clean up after this demo, run the following command:
```shell
docker image rm darkalex17/managarr &&\
docker image rm lscr.io/linuxserver/radarr &&\
docker image rm lscr.io/linuxserver/prowlarr &&\
rm -rf /tmp/managarr-demo &&\
rm -rf /tmp/managarr-demo.sh
./managarr-demo.sh
```
## Limitations
This demo has no download functionality. It is an eventual goal to have a mock API for one of the BitTorrent clients like Transmission
to emulate this functionality for a full demo experience.
## Building
This repo uses [just](https://github.com/casey/just) to manage build tasks.
To build any individual mock Servarr docker image or even all of them, you can use the `build` recipes in the [justfile](./justfile):
```shell
$ just --list
Available recipes:
...
[build]
build-all # Build all mock container images
build-lidarr # Build the Lidarr mock image
build-prowlarr # Build the Prowlarr mock image
build-radarr # Build the Radarr mock image
build-sonarr # Build the Sonarr mock image
...
```
## Pushing
This repo uses [just](https://github.com/casey/just) to manage push tasks.
To push any individual mock Servarr docker image or even all of them, you can use the `push` recipes in the [justfile](./justfile):
```shell
$ just --list
Available recipes:
...
[push]
push-all # Push all mock container images
push-lidarr # Push the Lidarr mock image
push-prowlarr # Push the Prowlarr mock image
push-radarr # Push the Radarr mock image
push-sonarr # Push the Sonarr mock image
...
```
## Running directly with docker compose
If you wish to run the demo directly from the [docker-compose.yml](./docker-compose.yml),
you can either run it simply with
```shell
docker compose run --rm managarr
```
which will use the [default managarr configuration file](./mock-htpc/managarr/config.yml), or you can specify it manually with the `MANAGARR_CONFIG` environment variable:
```shell
MANAGARR_CONFIG=/tmp/managarr.yml docker compose run --rm managarr
```
## Creator
* [Alex Clarke](https://github.com/Dark-Alex-17)
+23 -28
View File
@@ -1,32 +1,23 @@
---
services:
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./mock-htpc/movies:/movies
- ./mock-htpc/films:/films
- ./mock-htpc/downloads:/downloads
- ./mock-htpc/radarr:/config
ports:
- 7878:7878
radarr-mock:
image: darkalex17/radarr-mock:latest
container_name: radarr-mock
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./mock-htpc/prowlarr:/config
ports:
- 9696:9696
sonarr-mock:
image: darkalex17/sonarr-mock:latest
container_name: sonarr-mock
restart: unless-stopped
lidarr-mock:
image: darkalex17/lidarr-mock:latest
container_name: lidarr-mock
restart: unless-stopped
prowlarr-mock:
image: darkalex17/prowlarr-mock:latest
container_name: prowlarr-mock
restart: unless-stopped
managarr:
@@ -34,9 +25,13 @@ services:
stdin_open: true
tty: true
volumes:
- ./mock-htpc/managarr:/root/.config/managarr/
- "${MANAGARR_CONFIG:-./mock-htpc/managarr/config.yml}:/root/.config/managarr/config.yml:ro"
depends_on:
radarr:
radarr-mock:
condition: service_started
prowlarr:
sonarr-mock:
condition: service_started
lidarr-mock:
condition: service_started
prowlarr-mock:
condition: service_started
+59
View File
@@ -0,0 +1,59 @@
VERSION := "latest"
REPO := "darkalex17"
# List all recipes
default:
@just --list
# Build the Radarr mock image
[group: 'build']
@build-radarr:
docker build -f radarr.Dockerfile -t {{REPO}}/radarr-mock:{{VERSION}} .
# Build the Sonarr mock image
[group: 'build']
@build-sonarr:
docker build -f sonarr.Dockerfile -t {{REPO}}/sonarr-mock:{{VERSION}} .
# Build the Lidarr mock image
[group: 'build']
@build-lidarr:
docker build -f lidarr.Dockerfile -t {{REPO}}/lidarr-mock:{{VERSION}} .
# Build the Prowlarr mock image
[group: 'build']
@build-prowlarr:
docker build -f prowlarr.Dockerfile -t {{REPO}}/prowlarr-mock:{{VERSION}} .
# Build all mock container images
[group: 'build']
@build-all: build-radarr build-sonarr build-lidarr build-prowlarr
# Push the Radarr mock image
[group: 'push']
@push-radarr: build-radarr
docker push {{REPO}}/radarr-mock:{{VERSION}}
# Push the Sonarr mock image
[group: 'push']
@push-sonarr: build-sonarr
docker push {{REPO}}/sonarr-mock:{{VERSION}}
# Push the Lidarr mock image
[group: 'push']
@push-lidarr: build-lidarr
docker push {{REPO}}/lidarr-mock:{{VERSION}}
# Push the Prowlarr mock image
[group: 'push']
@push-prowlarr: build-prowlarr
docker push {{REPO}}/prowlarr-mock:{{VERSION}}
# Push all mock container images
[group: 'push']
@push-all: push-radarr push-sonarr push-lidarr push-prowlarr
# Run the demo
[group: 'run']
@run-demo:
docker compose run --rm managarr
+8
View File
@@ -0,0 +1,8 @@
FROM lscr.io/linuxserver/lidarr:latest
ENV PUID=1000
ENV PGID=1000
ENV TZ=Etc/UTC
COPY ./mock-htpc/lidarr/ /config
COPY ./mock-htpc/music /music
+24 -8
View File
@@ -1,21 +1,37 @@
#!/bin/bash
DEMO_TEMP_DIR=/tmp/managarr-demo
DEMO_TEMP_COMPOSE_FILE=/tmp/docker-compose.yml
DEMO_TEMP_CONFIG_FILE=/tmp/config.yml
cleanup() {
docker compose -f "$DEMO_TEMP_COMPOSE_FILE" down
docker rmi -f $(docker images | grep "darkalex17" | awk '{print $3}')
rm -rf "$DEMO_TEMP_COMPOSE_FILE"
rm -rf "$DEMO_TEMP_CONFIG_FILE"
rm -rf /tmp/managarr-demo.sh
}
fail() {
result=$?
cleanup
if [ "$result" != "0" ]; then
echo "Fail to run the Managarr demo"
echo "Failed to run the Managarr demo"
fi
exit $result
}
main() {
[ -f "$DEMO_TEMP_COMPOSE_FILE" ] || curl https://raw.githubusercontent.com/Dark-Alex-17/managarr-demo/main/docker-compose.yml > "$DEMO_TEMP_COMPOSE_FILE"
[ -f "$DEMO_TEMP_CONFIG_FILE" ] || curl https://raw.githubusercontent.com/Dark-Alex-17/managarr-demo/main/mock-htpc/managarr/config.yml > "$DEMO_TEMP_CONFIG_FILE"
MANAGARR_CONFIG="$DEMO_TEMP_CONFIG_FILE" docker compose -f "$DEMO_TEMP_COMPOSE_FILE" run --rm managarr
cleanup
}
trap "fail" EXIT
set -e
main
[ -d "$DEMO_TEMP_DIR" ] || git clone git@github.com:Dark-Alex-17/managarr-demo.git "$DEMO_TEMP_DIR"
docker compose -f "$DEMO_TEMP_DIR/docker-compose.yml" run --rm managarr &&\
docker compose -f "$DEMO_TEMP_DIR/docker-compose.yml" down &&\
docker image rm darkalex17/managarr &&\
rm -rf /tmp/managarr-demo.sh
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Some files were not shown because too many files have changed in this diff Show More