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:
2026-07-02 21:23:02 -07:00
parent d3b7ac59fd
commit a2351a266d
9 changed files with 141 additions and 75 deletions
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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**
+2 -2
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
# Lidarr
VOL_PATH=./data
VOL_PATH=/data
LIDARR_IMAGE=ghcr.io/hotio/lidarr:release
TZ="America/Vancouver"
+68 -6
View File
@@ -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.
+18
View File
@@ -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
-13
View File
@@ -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 -2
View File
@@ -1,4 +1,3 @@
# Prowlarr
VOL_PATH=./data/prowlarr/config
VOL_PATH=/data
PROWLARR_IMAGE=ghcr.io/hotio/prowlarr:release
TZ="America/Vancouver"