update: enhance README with detailed service descriptions and quick start guide; remove deprecated Calibre service from docker compose
This commit is contained in:
250
README.md
250
README.md
@@ -1,3 +1,249 @@
|
||||
# home-server
|
||||
# Home Server Services
|
||||
|
||||
Collection of all resources deployed on my home server.
|
||||
Collection of all resources deployed on my home server. This repository contains Docker Compose configurations for various services organized by category.
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Navigate to the service directory you want to deploy
|
||||
2. Copy `env.example` to `.env` and configure the variables
|
||||
3. Run `docker compose up -d` to start the services
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
komodo/
|
||||
├── arr/ # ARR (Automated Media Management) Services
|
||||
├── automate/ # Automation & Workflow Tools
|
||||
├── common/ # Common/Shared Services
|
||||
├── media-server/ # Media Server Applications
|
||||
├── general-purpose/ # General Purpose Applications
|
||||
└── monitor/ # Monitoring & Tracking Services
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📺 ARR Services (`komodo/arr/`)
|
||||
|
||||
The ARR stack is a collection of automated media management tools for organizing and downloading movies, TV shows, music, books, and more.
|
||||
|
||||
### arrs/ (`komodo/arr/arrs/`)
|
||||
|
||||
Main collection of ARR services for different media types:
|
||||
|
||||
- **Radarr** (Port: 7878) - Movie collection manager. Automatically monitors and downloads movies.
|
||||
- **Sonarr** (Port: 8989) - TV series collection manager. Monitors TV shows and manages episodes.
|
||||
- **Lidarr** (Port: 8686) - Music collection manager. Organizes and downloads music.
|
||||
- **Bookshelf** (Port: 8787) - Book collection manager. Alternative to Readarr for managing ebooks.
|
||||
- **Bazarr** (Port: 6767) - Subtitle manager. Automatically downloads subtitles for movies and TV shows.
|
||||
- **Jellyseerr** (Port: 5055) - Request management for media. Handles user requests for movies and TV shows.
|
||||
- **Prowlarr** (Port: 9696) - Indexer manager. Manages torrent/usenet indexers for all ARR services.
|
||||
- **Profilarr** (Port: 6868) - Profile manager for ARR services. Helps manage quality profiles across services.
|
||||
|
||||
**Configuration:** Requires `CONFIG_PATH`, `DATA_PATH`, `PUID`, `PGID`, and `TZ` environment variables.
|
||||
|
||||
### dispatcharr/ (`komodo/arr/dispatcharr/`)
|
||||
|
||||
- **Dispatcharr** (Port: 1866) - Task dispatcher for ARR services. Coordinates and manages tasks across multiple ARR instances.
|
||||
|
||||
**Configuration:** No environment variables required. Uses named volumes for data persistence.
|
||||
|
||||
### dizquetv/ (`komodo/arr/dizquetv/`)
|
||||
|
||||
- **DizqueTV** (Port: 8000) - Creates virtual TV channels from your media library. Streams your media as traditional TV channels.
|
||||
- **ErsatzTV** (Port: 8409) - Alternative virtual TV channel generator. Creates IPTV channels from local media.
|
||||
|
||||
**Configuration:** No environment variables required. Uses named volumes for data persistence.
|
||||
|
||||
### download-clients/ (`komodo/arr/download-clients/`)
|
||||
|
||||
Download clients for fetching media:
|
||||
|
||||
- **Transmission-OpenVPN** (Port: 9092) - BitTorrent client with VPN support via Private Internet Access (PIA). Provides secure torrenting.
|
||||
- **SABnzbd** (Port: 6798) - Usenet downloader. Downloads files from Usenet newsgroups.
|
||||
- **PIA qBittorrent** (Port: 8888) - qBittorrent client with PIA VPN integration. Alternative torrent client with built-in VPN.
|
||||
|
||||
**Configuration:** Requires PIA VPN credentials, network configuration, and path variables.
|
||||
|
||||
---
|
||||
|
||||
## 🎬 Media Servers (`komodo/media-server/`)
|
||||
|
||||
Media server applications for organizing and streaming your media library.
|
||||
|
||||
### audio-bookshelf/ (`komodo/media-server/audio-bookshelf/`)
|
||||
|
||||
- **AudioBookShelf** (Port: 13378) - Self-hosted audiobook and ebook server. Organizes and streams audiobooks, ebooks, and podcasts with a beautiful web interface.
|
||||
|
||||
**Configuration:** Media paths are configured directly in compose.yaml. No environment variables required.
|
||||
|
||||
### booklore/ (`komodo/media-server/booklore/`)
|
||||
|
||||
- **Booklore** - Modern ebook library manager with a focus on organization and metadata management. Includes MariaDB database for data storage.
|
||||
|
||||
**Configuration:** Requires database credentials, user/group IDs, and application port configuration.
|
||||
|
||||
### deprecated/calibre/ (`komodo/media-server/deprecated/calibre/`)
|
||||
|
||||
- **Calibre** - Ebook library management system. Organizes, converts, and manages your ebook collection.
|
||||
|
||||
**Configuration:** No environment variables currently configured.
|
||||
|
||||
**Note:** This service is in the deprecated directory.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Automation (`komodo/automate/`)
|
||||
|
||||
Automation and workflow tools for streamlining tasks and processes.
|
||||
|
||||
### n8n/ (`komodo/automate/n8n/`)
|
||||
|
||||
- **n8n** (Port: 5678) - Workflow automation tool. Create automated workflows with a visual interface. Similar to Zapier but self-hosted.
|
||||
|
||||
**Configuration:** Requires timezone configuration. Additional runners can be enabled.
|
||||
|
||||
### node-red/ (`komodo/automate/node-red/`)
|
||||
|
||||
- **Node-RED** (Port: 1880) - Flow-based programming tool. Visual programming for connecting hardware devices, APIs, and online services.
|
||||
|
||||
**Configuration:** No environment variables required. Uses named volumes for data persistence.
|
||||
|
||||
### semaphore/ (`komodo/automate/semaphore/`)
|
||||
|
||||
- **Semaphore** (Port: 3000) - Ansible automation platform. Provides a web UI for managing Ansible playbooks and deployments. Includes MySQL database.
|
||||
|
||||
**Configuration:** Requires database credentials, email configuration for notifications, and user/group IDs.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ General Purpose (`komodo/general-purpose/`)
|
||||
|
||||
Various general-purpose applications for different use cases.
|
||||
|
||||
### actual-budget/ (`komodo/general-purpose/actual-budget/`)
|
||||
|
||||
- **Actual Budget** (Port: 5006) - Personal finance and budgeting application. Local-first budgeting tool with sync capabilities.
|
||||
|
||||
**Configuration:** No environment variables required. Uses named volumes for data persistence.
|
||||
|
||||
### bookstack/ (`komodo/general-purpose/bookstack/`)
|
||||
|
||||
- **BookStack** (Port: 6875) - Documentation and wiki platform. Knowledge management system with a book-like structure. Includes MariaDB database.
|
||||
|
||||
**Configuration:** Requires database credentials, application key, SAML2/OAuth configuration (optional), SMTP settings, and application URL.
|
||||
|
||||
### flink/ (`komodo/general-purpose/flink/`)
|
||||
|
||||
- **Flink** (Port: 8080) - Streaming analytics platform. Real-time data processing and analytics engine.
|
||||
|
||||
**Configuration:** No environment variables required. Uses default configuration.
|
||||
|
||||
### grocy/ (`komodo/general-purpose/grocy/`)
|
||||
|
||||
- **Grocy** (Port: 9283) - Household management system. Tracks groceries, chores, recipes, and more for household organization.
|
||||
|
||||
**Configuration:** Requires user/group IDs and timezone configuration.
|
||||
|
||||
### hortusfox/ (`komodo/general-purpose/hortusfox/`)
|
||||
|
||||
- **HortusFox** (Port: 8080) - Garden management application. Tracks plants, watering schedules, and garden activities. Includes MariaDB database.
|
||||
|
||||
**Configuration:** Requires database credentials and admin account configuration.
|
||||
|
||||
### it-tools/ (`komodo/general-purpose/it-tools/`)
|
||||
|
||||
- **IT Tools** (Port: 1234) - Collection of useful IT tools. Web-based utilities for developers and IT professionals.
|
||||
|
||||
**Configuration:** No environment variables required. Simple web application.
|
||||
|
||||
### mealie/ (`komodo/general-purpose/mealie/`)
|
||||
|
||||
- **Mealie** (Port: 9925) - Recipe management and meal planning platform. Organize recipes, plan meals, and manage grocery lists. Includes PostgreSQL database.
|
||||
|
||||
**Configuration:** Requires database password, base URL, OIDC/OAuth configuration (optional), and OpenAI API key (optional for AI features).
|
||||
|
||||
### open-webui/ (`komodo/general-purpose/open-webui/`)
|
||||
|
||||
- **Open WebUI** (Port: 11674) - Web UI for LLM (Large Language Model) applications. Provides a chat interface for OpenAI, Anthropic, and other AI models.
|
||||
|
||||
**Configuration:** Requires API keys (OpenAI/Anthropic), OAuth configuration (optional), and redirect URI.
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Common Services (`komodo/common/`)
|
||||
|
||||
Shared services used across multiple applications.
|
||||
|
||||
### newt/ (`komodo/common/newt/`)
|
||||
|
||||
- **Newt** - Service integration tool. Connects with Pangolin endpoint for service management and integration.
|
||||
|
||||
**Configuration:** Requires Pangolin endpoint URL, Newt ID, and Newt secret.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Monitoring (`komodo/monitor/`)
|
||||
|
||||
Services for monitoring and tracking various aspects of your home server.
|
||||
|
||||
### tracearr/ (`komodo/monitor/tracearr/`)
|
||||
|
||||
- **Tracearr** (Port: 3000) - Monitoring and tracking tool for ARR services. Tracks requests, downloads, and activity across your ARR stack. Includes PostgreSQL and Redis.
|
||||
|
||||
**Configuration:** Requires port, timezone, and log level configuration. Secrets are auto-generated by default.
|
||||
|
||||
---
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Each service directory contains an `env.example` file that documents all required and optional environment variables. To use a service:
|
||||
|
||||
1. Copy the `env.example` file to `.env` in the same directory
|
||||
2. Fill in the required values
|
||||
3. Adjust optional settings as needed
|
||||
4. Run `docker compose up -d`
|
||||
|
||||
### Common Variables
|
||||
|
||||
Many services use these common variables:
|
||||
|
||||
- **PUID** - User ID (find with `id -u`)
|
||||
- **PGID** - Group ID (find with `id -g`)
|
||||
- **TZ** - Timezone (e.g., `America/New_York`, `Europe/London`, `UTC`)
|
||||
- **CONFIG_PATH** - Base path for configuration files
|
||||
- **DATA_PATH** - Base path for data/media files
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- All services use Docker Compose for orchestration
|
||||
- Most services include health checks and restart policies
|
||||
- Services are configured to use named volumes for data persistence
|
||||
- Port mappings can be adjusted in the compose files if needed
|
||||
- Some services integrate with authentication providers (like Authentik) for SSO
|
||||
- VPN-enabled download clients require VPN provider credentials
|
||||
|
||||
---
|
||||
|
||||
## Service Dependencies
|
||||
|
||||
Some services depend on others:
|
||||
|
||||
- **ARR Services** typically connect to download clients (Transmission, qBittorrent, SABnzbd)
|
||||
- **Jellyseerr** connects to media servers (Jellyfin/Plex) and ARR services
|
||||
- **Bazarr** connects to Radarr and Sonarr for subtitle management
|
||||
- **Prowlarr** connects to all ARR services to provide indexers
|
||||
- **Tracearr** monitors ARR services
|
||||
- Services with databases (BookStack, Mealie, Booklore, HortusFox, Semaphore) include their database containers
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
When adding new services:
|
||||
|
||||
1. Create a new directory under the appropriate category
|
||||
2. Add a `compose.yaml` file
|
||||
3. Create an `env.example` file documenting all environment variables
|
||||
4. Update this README with service description and configuration requirements
|
||||
|
||||
Reference in New Issue
Block a user