mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
feat: add lidarr_dev stack, rewrite prowlarr_dev, align template conventions
- Add lidarr_dev stack with compose.yaml, sample.env, and README - Rewrite prowlarr_dev to match template conventions (compose.yaml, defaults on all vars, proxy network, README sections) - Set default VOL_PATH to /data (absolute, never ./data) - Reorder README sections: Overview → Project Details → Getting Started → Env Vars → Volume Notes → Network Notes → Docker Run - Update template-readme.md and AGENTS.md with new conventions
This commit is contained in:
@@ -5,12 +5,12 @@
|
||||
- Every stack has at least 3 files: `compose.yaml` (dockhand style), `sample.env`, `README.md`
|
||||
- `_dev` = experimental, `_notes` = docs/minimal examples, no suffix = production-ready
|
||||
- Always references an external `proxy` network (`docker network create proxy` once)
|
||||
- Volumes use `${VOL_PATH:-/data}` as the base path
|
||||
- Volumes use `${VOL_PATH:-/data}` as the base path (absolute `/data`, never `./data`)
|
||||
- Timezone defaults to `America/Vancouver`, but only include if the container requires it.
|
||||
- Restart policy, image tag, and port are configurable via env vars with sensible defaults
|
||||
- New stacks: copy from `_docs/template-compose.md` and `_docs/template-readme.md`
|
||||
- Compose section order: `image` → `restart` → `volumes` → `environment` → `ports` → `networks` → `depends_on` → `healthcheck` → `labels` → `command` → `user`
|
||||
- README section order: `Overview` → `Getting Started` → `Docker Run` → `Project Details` → `Environment Variable Notes` → `Volume Notes` → `Network Notes` → `Additional Notes / Gotchas` → `Dockhand Stack, Deploy from Git`
|
||||
- README section order: `Overview` → `Project Details` → `Getting Started` → `Environment Variable Notes` → `Volume Notes` → `Network Notes` → `Docker Run` → `Additional Notes / Gotchas` → `Dockhand Stack, Deploy from Git`
|
||||
- Every compose file must declare the external `proxy` network at the root level:
|
||||
```yaml
|
||||
networks:
|
||||
|
||||
+16
-16
@@ -5,21 +5,6 @@
|
||||
A short 1--3 sentence description of what this Docker Compose project
|
||||
does.
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Start the container: `docker compose up -d`
|
||||
2. Open http://localhost:[PORT] in your browser
|
||||
3. Follow the initial setup wizard to configure the application
|
||||
|
||||
## Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name=[SERVICE_NAME] \
|
||||
# ...env vars, ports, volumes...
|
||||
[IMAGE_NAME]
|
||||
```
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [Link](https://example.com)
|
||||
@@ -28,6 +13,12 @@ docker run -d \
|
||||
- **Documentation:** [Docs](https://dockerhub.com)
|
||||
- **Reverse Proxy Port:** `80`
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Start the container: `docker compose up -d`
|
||||
2. Open http://localhost:[PORT] in your browser
|
||||
3. Follow the initial setup wizard to configure the application
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
List any required or optional environment variables, where they come
|
||||
@@ -52,6 +43,15 @@ Example:
|
||||
|
||||
Requires proxy network
|
||||
|
||||
## Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name=[SERVICE_NAME] \
|
||||
# ...env vars, ports, volumes...
|
||||
[IMAGE_NAME]
|
||||
```
|
||||
|
||||
## Additional Notes / Gotchas
|
||||
|
||||
Add any special information someone should know before running the
|
||||
@@ -66,4 +66,4 @@ Additional env file (optional): SERVICENAME/sample.env
|
||||
|
||||
Then "Load" SERVICENAME/sample.env into the Environmental variables in dockhand
|
||||
|
||||
Create the Stack
|
||||
Create the Stack
|
||||
|
||||
+33
-33
@@ -4,6 +4,12 @@
|
||||
|
||||
Lidarr is a music collection manager for Usenet and BitTorrent users. It automatically monitors specified artists, searches for new releases (or upgrades to existing tracks), and sends them to your download client. After download, Lidarr renames and organizes the files into your music library and can notify your media server of the new content.
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [https://lidarr.audio/](https://lidarr.audio/)
|
||||
- **Container Image:** [ghcr.io/hotio/lidarr](https://hotio.dev/containers/lidarr/)
|
||||
- **Reverse Proxy Port:** `8686`
|
||||
|
||||
## Getting Started
|
||||
|
||||
Open http://localhost:8686 in your browser and complete the initial setup wizard:
|
||||
@@ -26,6 +32,31 @@ qBittorrent downloads to its own directory → Lidarr picks it up, renames/tags
|
||||
|
||||
Lidarr doesn't natively import Spotify playlists. Use a community tool like [SpotifyToLidarr](https://github.com/Claudemirovsky/SpotifyToLidarr) or set up a **List** (Settings → Lists) from Last.fm or MusicBrainz to auto-add artists based on your listening habits.
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
| Variable | Description |
|
||||
|---|---|
|
||||
| `LIDARR_IMAGE` | Container image (default: `ghcr.io/hotio/lidarr:release`) |
|
||||
| `LIDARR_RESTART` | Restart policy (default: `unless-stopped`) |
|
||||
| `LIDARR_PORT` | Published port for the web UI (default: `8686`) |
|
||||
| `VOL_PATH` | Base path for persistent data volumes (default: `/data`) |
|
||||
| `TZ` | Container timezone (default: `America/Vancouver`) |
|
||||
|
||||
## Volume Notes
|
||||
|
||||
| Volume | Purpose |
|
||||
|---|---|
|
||||
| `${VOL_PATH:-/data}/lidarr/config` | Application configuration and database |
|
||||
| `${VOL_PATH:-/data}/lidarr/data` | Download client data and working directory |
|
||||
|
||||
## Network Notes
|
||||
|
||||
Requires an external `proxy` network. Create it once with:
|
||||
|
||||
```bash
|
||||
docker network create proxy
|
||||
```
|
||||
|
||||
## Docker Run
|
||||
|
||||
```bash
|
||||
@@ -36,44 +67,13 @@ docker run -d \
|
||||
-e UMASK=002 \
|
||||
-e TZ=America/Vancouver \
|
||||
-p 8686:8686 \
|
||||
-v ${VOL_PATH:-./data}/lidarr/config:/config \
|
||||
-v ${VOL_PATH:-./data}/lidarr/data:/data \
|
||||
-v ${VOL_PATH:-/data}/lidarr/config:/config \
|
||||
-v ${VOL_PATH:-/data}/lidarr/data:/data \
|
||||
--network proxy \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/hotio/lidarr:release
|
||||
```
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [https://lidarr.audio/](https://lidarr.audio/)
|
||||
- **Container Image:** [ghcr.io/hotio/lidarr](https://hotio.dev/containers/lidarr/)
|
||||
- **Reverse Proxy Port:** `8686`
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
| Variable | Description |
|
||||
|---|---|
|
||||
| `LIDARR_IMAGE` | Container image (default: `ghcr.io/hotio/lidarr:release`) |
|
||||
| `LIDARR_RESTART` | Restart policy (default: `unless-stopped`) |
|
||||
| `LIDARR_PORT` | Published port for the web UI (default: `8686`) |
|
||||
| `VOL_PATH` | Base path for persistent data volumes (default: `./data`) |
|
||||
| `TZ` | Container timezone (default: `America/Vancouver`) |
|
||||
|
||||
## Volume Notes
|
||||
|
||||
| Volume | Purpose |
|
||||
|---|---|
|
||||
| `${VOL_PATH}/lidarr/config` | Application configuration and database |
|
||||
| `${VOL_PATH}/lidarr/data` | Download client data and working directory |
|
||||
|
||||
## Network Notes
|
||||
|
||||
Requires an external `proxy` network. Create it once with:
|
||||
|
||||
```bash
|
||||
docker network create proxy
|
||||
```
|
||||
|
||||
## Dockhand Stack, Deploy from Git
|
||||
|
||||
- **Cookbooks Repository**
|
||||
|
||||
@@ -3,8 +3,8 @@ services:
|
||||
image: ${LIDARR_IMAGE:-ghcr.io/hotio/lidarr:release}
|
||||
restart: ${LIDARR_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-./data}/lidarr/config:/config
|
||||
- ${VOL_PATH:-./data}/lidarr/data:/data
|
||||
- ${VOL_PATH:-/data}/lidarr/config:/config
|
||||
- ${VOL_PATH:-/data}/lidarr/data:/data
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Lidarr
|
||||
VOL_PATH=./data
|
||||
VOL_PATH=/data
|
||||
LIDARR_IMAGE=ghcr.io/hotio/lidarr:release
|
||||
TZ="America/Vancouver"
|
||||
|
||||
+68
-6
@@ -1,9 +1,71 @@
|
||||
# Prowlarr
|
||||
# Prowlarr
|
||||
|
||||
Official Site: https://prowlarr.com/
|
||||
docker docs: https://hotio.dev/containers/prowlarr/ (VPN setup here)
|
||||
Proxy port: 9696
|
||||
## Overview
|
||||
|
||||
Prowlarr is an indexer manager and proxy developed by the *arr team to integrate with and support applications like Sonarr, Radarr, Lidarr, and Readarr. Its primary function is to centralize the management of your various torrent tracker and Usenet indexer configurations. Instead of manually adding and configuring each indexer in every single one of your *arr applications, you simply add them once to Prowlarr. Prowlarr then automatically syncs these indexers and their settings to all of your connected apps, drastically simplifying setup and maintenance while also providing a single dashboard to monitor the status and statistics of all your indexer sources.
|
||||
Prowlarr is an indexer manager and proxy for the *arr ecosystem. It centralizes your torrent tracker and Usenet indexer configuration — add them once in Prowlarr and they sync automatically to Sonarr, Radarr, Lidarr, and Readarr. It's a modern replacement for Jackett with a unified API and built-in sync.
|
||||
|
||||
I'm using this as a replacement for https://github.com/Jackett/Jackett
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [https://prowlarr.com/](https://prowlarr.com/)
|
||||
- **Container Image:** [ghcr.io/hotio/prowlarr](https://hotio.dev/containers/prowlarr/)
|
||||
- **Reverse Proxy Port:** `9696`
|
||||
|
||||
## Getting Started
|
||||
|
||||
Open http://localhost:9696 in your browser and complete the initial setup wizard:
|
||||
|
||||
1. **Choose your UI language**
|
||||
2. **Add an indexer** — search or manually configure your preferred trackers/usenet providers
|
||||
3. **Connect your *arr apps** — go to **Settings → Apps** and add Sonarr, Radarr, Lidarr, etc. Prowlarr will automatically sync all configured indexers to them
|
||||
4. If you're migrating from Jackett, Prowlarr can import your existing indexer configs during setup
|
||||
|
||||
### Download flow
|
||||
|
||||
Prowlarr does not handle downloads. It only provides indexer search results to your *arr apps — they in turn send downloads to qBittorrent, SABnzbd, etc.
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
| Variable | Description |
|
||||
|---|---|
|
||||
| `PROWLARR_IMAGE` | Container image (default: `ghcr.io/hotio/prowlarr:release`) |
|
||||
| `PROWLARR_RESTART` | Restart policy (default: `unless-stopped`) |
|
||||
| `PROWLARR_PORT` | Published port for the web UI (default: `9696`) |
|
||||
| `VOL_PATH` | Base path for persistent data volumes (default: `/data`) |
|
||||
|
||||
## Volume Notes
|
||||
|
||||
| Volume | Purpose |
|
||||
|---|---|
|
||||
| `${VOL_PATH}/prowlarr/config` | Indexer configurations, app sync settings, database |
|
||||
|
||||
## Network Notes
|
||||
|
||||
Requires an external `proxy` network. Create it once with:
|
||||
|
||||
```bash
|
||||
docker network create proxy
|
||||
```
|
||||
|
||||
## Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name=prowlarr \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e UMASK=002 \
|
||||
-p 9696:9696 \
|
||||
-v ${VOL_PATH:-/data}/prowlarr/config:/config \
|
||||
--network proxy \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/hotio/prowlarr:release
|
||||
```
|
||||
|
||||
## Dockhand Stack, Deploy from Git
|
||||
|
||||
- **Cookbooks Repository**
|
||||
- **stackname:** prowlarr_dev
|
||||
- **Compose file path:** prowlarr_dev/compose.yaml
|
||||
- **Additional env file (optional):** prowlarr_dev/sample.env
|
||||
|
||||
Load `prowlarr_dev/sample.env` into the Environment variables in Dockhand, then create the Stack.
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
services:
|
||||
prowlarr:
|
||||
image: ${PROWLARR_IMAGE:-ghcr.io/hotio/prowlarr:release}
|
||||
restart: ${PROWLARR_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/prowlarr/config:/config
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- UMASK=002
|
||||
ports:
|
||||
- "${PROWLARR_PORT:-9696}:9696"
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
@@ -1,13 +0,0 @@
|
||||
services:
|
||||
prowlarr:
|
||||
image: ${PROWLARR_IMAGE}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- UMASK=002
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- "${VOL_CONFIG_PATH:-./data/prowlarr/config}:/config"
|
||||
ports:
|
||||
- 9696:9696
|
||||
@@ -1,4 +1,3 @@
|
||||
# Prowlarr
|
||||
VOL_PATH=./data/prowlarr/config
|
||||
VOL_PATH=/data
|
||||
PROWLARR_IMAGE=ghcr.io/hotio/prowlarr:release
|
||||
TZ="America/Vancouver"
|
||||
Reference in New Issue
Block a user