Skip to content

Commit 49df7c8

Browse files
committed
README update
1 parent 28d92a4 commit 49df7c8

File tree

1 file changed

+72
-19
lines changed

1 file changed

+72
-19
lines changed

README.md

Lines changed: 72 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,89 @@
1-
# Ops repo: Containers for torrent clients et al.
1+
# Ops Containers
22

3-
This set of compose collections are built to put my service containers on the tailnet without my needing to have an entire host for each one.
3+
A collection of Docker Compose services for my homelab infrastructure, designed to place service containers on a Tailscale network without requiring a dedicated host for each service.
44

5-
All of these require:
5+
## Requirements
66

7-
- a docker engine
8-
- access to the CIFS file share on blob
7+
- Docker Engine
8+
- Access to CIFS file share on blob
9+
- Tailscale network (for sidecar containers)
910

10-
## Which host?
11+
## Sidecar Containers
1112

12-
Most of the containers are not running properly on 32-bit ARM, which my raspberry pi lab devices are still on. I need to upgrade those before I can put them back.
13+
Many services in this repository use the "sidecar" pattern to expose them on the Tailscale network. Each service that needs to be accessible over Tailscale imports the common `sidecar-compose.yaml` configuration, which:
1314

14-
For now, a lot of these are running on the NUC (bitbucket) instead, but I'd like to move them back to torrents.
15+
1. Adds a Tailscale container to the service stack
16+
2. Connects the container to my tailnet using an auth key
17+
3. Optionally exposes the service using Tailscale Serve
18+
4. Optionally enables Tailscale Funnel for external access
1519

16-
### SickChill
20+
To use a sidecar with your service:
1721

18-
TV management. Connects to whatbox for transmission, and blob for media. Runs on torrent.
22+
```yaml
23+
# Import the sidecar configuration
24+
include:
25+
- ../sidecar-compose.yaml
1926

20-
This one entails a custom image build, since I run on ARM and the source doesn't release one.
27+
services:
28+
# Your regular service definition
29+
myservice:
30+
image: example/service:latest
31+
network_mode: "service:sidecar" # Share the network namespace
32+
# ...
2133

22-
### Radarr
34+
# Extend the sidecar to connect to your service
35+
sidecar:
36+
extends:
37+
service: .sidecar
38+
environment:
39+
- TS_AUTH_KEY=${TS_AUTH_KEY}
40+
- TS_SERVE_PORT=8080 # Port your service listens on
41+
# - TS_FUNNEL=yes # Uncomment to enable public access
42+
```
2343

24-
Movie management. Connects to whatbox for transmission, and blob for media. Runs on bitbucket.
44+
## Available Services
2545

26-
The latest Radarr doesn't support the ARM userspace/kernel combo that my pi lab has.
46+
### Media Management
2747

28-
### Jackett
48+
- **Radarr**: Movie management, connects to transmission and media storage
49+
- **Sonarr**: TV show management, replacement for SickChill
50+
- **Lidarr**: Music management, connects to transmission and media storage
51+
- **Readarr**: E-book and audiobook management
52+
- **Jackett**: Torrent site proxy/indexer
53+
- **Tautulli**: Plex server statistics and monitoring
2954

30-
Torrent site proxy. Runs on torrents.
55+
### Media Libraries
3156

32-
### Lidarr
57+
- **Calibre**: E-book management system
58+
- **Calibre-Web**: Web interface for Calibre library
59+
- **YACReader**: Comic/manga reader and library manager
60+
- **Immich**: Self-hosted photo and video backup solution
3361

34-
Music management. Connects to whatbox for transmission, and blob for media. Runs on bitbucket.
62+
### Web Services
3563

36-
Same codebase as Radarr.
64+
- **ArchiveBox**: Self-hosted web archive solution
65+
- **ChangeDetection**: Monitor website changes
66+
- **Cobalt**: YouTube and media downloader
67+
- **Pocket-ID**: Self-hosted authentication server
68+
- **Postmarks**: Bookmark manager
69+
- **BreezeWiki**: Privacy-focused wiki proxy
70+
71+
### Monitoring & Metrics
72+
73+
- **Prometheus**: Metrics collection and storage
74+
- **Metrics**: Various exporters (Plex, SNMP, UDM, etc.)
75+
- **OpenObserve**: Log management and analytics
76+
- **Victoria-Logs**: High-performance logs storage
77+
78+
### Utility Services
79+
80+
- **Atuin**: Shell history sync server
81+
- **Hoarder**: Data collection service
82+
- **OFSM**: Factorio server _not enabled_
83+
84+
## Host Environment
85+
86+
Most containers require a 64-bit architecture. While some can run on 32-bit ARM, many modern containers require 64-bit ARM or x86_64. Services are typically deployed across multiple hosts:
87+
88+
- **NUC (bitbucket)**: Primary host for resource-intensive services
89+
- **NUC (prime)**: Primary host for video and AI-using services

0 commit comments

Comments
 (0)