Compare commits
16 Commits
0214d68f7e
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
e5fd6817e0
|
|||
| f9918cd5b3 | |||
| f56813fd6e | |||
| 52853c6fd6 | |||
| 48c7af9b83 | |||
| 6512117aca | |||
| ab4c119e04 | |||
| b2ae5bd9d9 | |||
| ea4cfeb42d | |||
| 89f8a64b51 | |||
| 358353f850 | |||
| 108ebf249c | |||
| 1e67bd8fa7 | |||
| 41f1be92ee | |||
| eb3ce38562 | |||
| 52d261b06f |
@@ -0,0 +1 @@
|
||||
.idea
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 283 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 182 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 242 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 601 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 530 KiB |
|
After Width: | Height: | Size: 498 KiB |
|
After Width: | Height: | Size: 483 KiB |
|
After Width: | Height: | Size: 450 KiB |
|
After Width: | Height: | Size: 525 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 411 KiB |
|
After Width: | Height: | Size: 452 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 450 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 437 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 327 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 243 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 395 KiB |
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 327 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 352 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 557 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 247 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 254 KiB |
|
After Width: | Height: | Size: 260 KiB |
|
After Width: | Height: | Size: 465 KiB |
|
After Width: | Height: | Size: 591 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 718 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 282 KiB |
|
After Width: | Height: | Size: 401 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 286 KiB |
|
After Width: | Height: | Size: 337 KiB |
|
After Width: | Height: | Size: 521 KiB |
|
After Width: | Height: | Size: 718 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 429 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 188 KiB |
|
After Width: | Height: | Size: 638 KiB |
|
After Width: | Height: | Size: 246 KiB |
|
After Width: | Height: | Size: 174 KiB |
|
After Width: | Height: | Size: 477 KiB |
|
After Width: | Height: | Size: 570 KiB |
|
After Width: | Height: | Size: 422 KiB |
|
After Width: | Height: | Size: 432 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 206 KiB |