Compare commits
5 Commits
af456f7260
...
master
Author | SHA1 | Date | |
---|---|---|---|
700eb145bf | |||
265d50897b | |||
af8fb1a502 | |||
4a8ea0a8b6 | |||
0646176d74 |
61
README.md
61
README.md
@@ -16,31 +16,35 @@ docker compose up -d
|
||||
## 📋 Services Overview
|
||||
|
||||
### 🎬 Media Management
|
||||
- **Bazarr** (6767) - Subtitle management
|
||||
- **FlareSolverr** (8191) - Cloudflare bypass
|
||||
- **Jellyfin** (8096) - Media streaming server
|
||||
- **Jellyseerr** (5055) - Media request management
|
||||
- **Lidarr** (8686) - Music management
|
||||
- **Pinchflat** (8945) - Youtube Content Downloader
|
||||
- **Prowlarr** (9696) - Indexer management
|
||||
- **qBittorrent** (7070) - Download client
|
||||
- **Radarr** (7878) - Movie management
|
||||
- **Sonarr** (8989) - TV series management
|
||||
- **Bazarr** (6767) - Subtitle Management
|
||||
- **FlareSolverr** (8191) - Cloudflare Bypass
|
||||
- **Jellyfin** (8096) - Media Streaming Server
|
||||
- **Jellyseerr** (5055) - Media Request Management
|
||||
- **Prowlarr** (9696) - Indexer Management
|
||||
- **qBittorrent** (7070) - Download Client
|
||||
- **Radarr** (7878) - Movie Management
|
||||
- **Sonarr** (8989) - TV Series Management
|
||||
|
||||
### 🎵 Music & Scrobbling
|
||||
- **Maloja** (42010) - Music statistics
|
||||
- **Multi-Scrobbler** (9078) - Music scrobbling
|
||||
- **Lidarr** (8686) - Music management
|
||||
- **Lidarr Importer API** (5110) - API of Maloja DB for Lidarr Import
|
||||
- **Maloja** (42010) - Music Statistics
|
||||
- **MBID-Poller** - Polls Lidar API with Scrobbled artists then auto adds once found.
|
||||
- **Multi-Scrobbler** (9078) - Music Scrobbling
|
||||
- **Maloja to Lidarr Importer** - Scrobble Artist List for Custom Import
|
||||
- **Pinchflat** (8945) - Youtube Content Downloader
|
||||
- **Soulseek** (5030) - P2P Filesharer
|
||||
- **Soularr** - Intermediary between Lidarr and Soulseek
|
||||
|
||||
### 📄 Document Management
|
||||
- **Gotenberg** - Document conversion
|
||||
- **OnlyOffice** (8054) - Document editing
|
||||
- **Paperless AI** (3040) - AI document enhancement
|
||||
- **Paperless NGX** (8100) - Document management
|
||||
- **Redis** - Paperless broker
|
||||
- **MariaDB** - Paperless database
|
||||
- **Stirling PDF** (8090) - PDF processing
|
||||
- **Tika** - Content extraction
|
||||
- **Gotenberg** - Document Conversion
|
||||
- **OnlyOffice** (8054) - Document Editing
|
||||
- **Paperless AI** (3040) - AI Document Enhancement
|
||||
- **Paperless NGX** (8100) - Document Management
|
||||
- **Redis** - Paperless Broker
|
||||
- **MariaDB** - Paperless Database
|
||||
- **Stirling PDF** (8090) - PDF Processing
|
||||
- **Tika** - Content Extraction
|
||||
|
||||
### 🏠 Personal Applications
|
||||
- **AdventureLog Frontend** (8015) - Adventure tracking interface
|
||||
@@ -57,6 +61,7 @@ docker compose up -d
|
||||
- **Syncthing** (8384) - File synchronization
|
||||
|
||||
### 🛠️ System Utilities
|
||||
- **Bytestash** (5661) - Private Pastebin
|
||||
- **Docker Proxy** (2375) - Docker API proxy
|
||||
- **FileBrowser** (6633) - Web file manager
|
||||
- **FoundryVTT Watcher** (30000) - FoundryVTT player login watcher
|
||||
@@ -70,6 +75,20 @@ docker compose up -d
|
||||
- **Speedtest Database** - MariaDB for speedtest
|
||||
- **Speedtest Tracker** (8180) - Network monitoring
|
||||
- **Watchtower** - Container updates
|
||||
- **Whisper** - Speech Recognition System
|
||||
|
||||
### 💻 Proxmox Host
|
||||
The core of this environment is a Proxmox host that orchestrates multiple services using both VMs and LXCs for resource isolation and management. The services currently running include:
|
||||
|
||||
- **AdGuard** - Network-wide ad and tracker blocking service.
|
||||
- **Vaultwarden** - Self-hosted Bitwarden server for secure password management.
|
||||
- **Immich** - Self-hosted, open-source photo and video backup solution.
|
||||
- **n8n** - Workflow automation tool for connecting apps and services.
|
||||
- **HAOS (Home Assistant)** - VM dedicated to home automation.
|
||||
- **Wordpress** - Content management system for website hosting.
|
||||
- **FoundryVTT** - Self-hosted virtual tabletop for role-playing games.
|
||||
- **Crafty Controller** - Server manager for Minecraft.
|
||||
- **Nextcloud OS** - Platform for private file hosting and collaboration.
|
||||
|
||||
## 🏗️ Architecture
|
||||
|
||||
@@ -80,7 +99,7 @@ The stack is organized into logical service groups:
|
||||
├── docker-compose.yml # Main orchestration for ephemeral services
|
||||
├── .env # Environment variables
|
||||
├── .env.template # Template for new deployments
|
||||
├── Services/
|
||||
├── services/
|
||||
│ ├── filebrowser/
|
||||
│ ├── homepage/
|
||||
│ └── ... # Other stateless services
|
||||
|
@@ -6,7 +6,7 @@ services:
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- /docker-local/Arrs/Bazarr/config:/config
|
||||
- /data/:/data/
|
||||
@@ -21,19 +21,18 @@ services:
|
||||
image: ghcr.io/flaresolverr/flaresolverr:latest
|
||||
container_name: flaresolverr
|
||||
environment:
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
ports:
|
||||
- 8191:8191
|
||||
networks:
|
||||
arr_network:
|
||||
ipv4_address: 172.20.0.8
|
||||
restart: unless-stopped
|
||||
|
||||
jellyfin:
|
||||
image: jellyfin/jellyfin
|
||||
container_name: jellyfin
|
||||
environment:
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- JELLYFIN_PublishedServerUrl=${JELLYFIN_URL}
|
||||
@@ -53,7 +52,7 @@ services:
|
||||
container_name: jellyseerr
|
||||
environment:
|
||||
- LOG_LEVEL=debug
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ../docker-local/Arrs/Jellyseerr/config:/app/config
|
||||
- /data/torrents:/downloads
|
||||
@@ -65,16 +64,16 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
lidarr:
|
||||
image: lscr.io/linuxserver/lidarr:latest
|
||||
image: ghcr.io/linuxserver-labs/prarr:lidarr-plugins
|
||||
container_name: lidarr
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- /docker-local/Arrs/Lidarr/config:/config
|
||||
- /data/:/data/
|
||||
- /data/torrents/:/downloads
|
||||
- /data/torrents/complete/lidarr:/data/downloads/complete/lidarr
|
||||
- /data/music:/data/music
|
||||
ports:
|
||||
- 8686:8686
|
||||
networks:
|
||||
@@ -82,22 +81,11 @@ services:
|
||||
ipv4_address: 172.20.0.7
|
||||
restart: unless-stopped
|
||||
|
||||
pinchflat:
|
||||
image: ghcr.io/kieraneglin/pinchflat:latest
|
||||
environment:
|
||||
# Set the timezone to your local timezone
|
||||
- TZ=Pacific/Auckland
|
||||
ports:
|
||||
- '8945:8945'
|
||||
volumes:
|
||||
- /docker-local/pinchflat/config:/config
|
||||
- /data/music/youtube/:/downloads
|
||||
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
environment:
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
@@ -115,11 +103,11 @@ services:
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- WEBUI_PORT=8080
|
||||
volumes:
|
||||
- ./services/qBittorrent/config:/config
|
||||
- /data/torrents:/downloads
|
||||
- /data/torrents:/data/downloads
|
||||
ports:
|
||||
- 7070:8080
|
||||
- 56881:6881
|
||||
@@ -133,13 +121,13 @@ services:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
environment:
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- /docker-local/Arrs/Radarr/config:/config
|
||||
- /data/:/data/
|
||||
- /data/torrents/:/downloads
|
||||
- /data/torrents/complete/radarr:/data/downloads/complete/radarr
|
||||
ports:
|
||||
- 7878:7878
|
||||
networks:
|
||||
@@ -151,13 +139,13 @@ services:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
environment:
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- /docker-local/Arrs/Sonarr/config:/config
|
||||
- /data:/data
|
||||
- /data/torrents:/downloads
|
||||
- /data/torrents/complete/sonarr:/data/downloads/complete/sonarr
|
||||
ports:
|
||||
- 8989:8989
|
||||
networks:
|
||||
@@ -166,6 +154,21 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
# Music & Scrobbling
|
||||
beets:
|
||||
image: lscr.io/linuxserver/beets:latest
|
||||
container_name: beets
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- /docker-local/beets/config:/config
|
||||
- /data/music:/music
|
||||
- /data/downloads:/downloads
|
||||
ports:
|
||||
- 8337:8337
|
||||
restart: unless-stopped
|
||||
|
||||
maloja:
|
||||
image: "krateng/maloja:latest"
|
||||
container_name: maloja
|
||||
@@ -183,7 +186,7 @@ services:
|
||||
image: foxxmd/multi-scrobbler
|
||||
container_name: multi-scrobbler
|
||||
environment:
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- BASE_URL=${SCROBBLE_URL}
|
||||
@@ -211,7 +214,7 @@ services:
|
||||
image: gitea.kansaigaijin.com/kansaigaijin/majola-lidarr-importer:latest
|
||||
container_name: maloja-lidarr-importer-api
|
||||
volumes:
|
||||
- ./logs:/app/logs
|
||||
- ./services/maloja_lidarr_api/logs:/app/logs
|
||||
ports:
|
||||
- "5110:5000"
|
||||
environment:
|
||||
@@ -219,6 +222,51 @@ services:
|
||||
- SOURCE_API_KEY=${SOURCE_API_KEY}
|
||||
restart: "unless-stopped"
|
||||
|
||||
pinchflat:
|
||||
image: ghcr.io/kieraneglin/pinchflat:latest
|
||||
container_name: pinchflat
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
ports:
|
||||
- '8945:8945'
|
||||
volumes:
|
||||
- /docker-local/pinchflat/config:/config
|
||||
- /data/torrents/:/downloads
|
||||
|
||||
slskd:
|
||||
image: slskd/slskd
|
||||
container_name: slskd
|
||||
hostname: slskd
|
||||
# user: 1000:1000
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- SLSKD_REMOTE_CONFIGURATION=true
|
||||
- SLSKD_USERNAME=${SLSKD_USERNAME}
|
||||
- SLSKD_PASSWORD=${SLSKD_PASSWORD}
|
||||
ports:
|
||||
- 5030:5030
|
||||
- 5031:5031
|
||||
- 50300:50300
|
||||
volumes:
|
||||
- /docker-local/slskd:/app
|
||||
- /data:/data
|
||||
- /data/torrents/slskd_downloads:/downloads
|
||||
- /data/torrents/incomplete:/incomplete
|
||||
restart: unless-stopped
|
||||
|
||||
soularr:
|
||||
image: mrusse08/soularr:latest
|
||||
container_name: soularr
|
||||
hostname: soularr
|
||||
user: 1000:1000
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
- SCRIPT_INTERVAL=300
|
||||
volumes:
|
||||
- /data/torrents/slskd_downloads:/downloads
|
||||
- ./services/soularr:/data
|
||||
restart: unless-stopped
|
||||
|
||||
# Document Management
|
||||
broker:
|
||||
image: docker.io/library/redis:8
|
||||
@@ -339,10 +387,10 @@ services:
|
||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
||||
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
||||
volumes:
|
||||
- ./Services/paperless/data:/usr/src/paperless/data
|
||||
- ./Services/paperless/media:/usr/src/paperless/media
|
||||
- ./Services/paperless/export:/usr/src/paperless/export
|
||||
- ./Services/paperless/consume:/usr/src/paperless/consume
|
||||
- ./services/paperless/data:/usr/src/paperless/data
|
||||
- ./services/paperless/media:/usr/src/paperless/media
|
||||
- ./services/paperless/export:/usr/src/paperless/export
|
||||
- ./services/paperless/consume:/usr/src/paperless/consume
|
||||
ports:
|
||||
- "8100:8000"
|
||||
depends_on:
|
||||
@@ -496,7 +544,7 @@ services:
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- DOCKER_MODS=linuxserver/mods:universal-git
|
||||
volumes:
|
||||
- /docker-local/obsidian/vaults:/vaults
|
||||
@@ -514,7 +562,7 @@ services:
|
||||
environment:
|
||||
- TOKEN=${REDBOT_TOKEN}
|
||||
- PREFIX=!
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- PUID=1000
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -536,6 +584,23 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
# System Utilities
|
||||
bytestash:
|
||||
image: "ghcr.io/jordan-dalby/bytestash:latest"
|
||||
container_name: bytestash
|
||||
restart: always
|
||||
volumes:
|
||||
- /docker-local/bytestash/snippets:/data/snippets
|
||||
ports:
|
||||
- "5661:5000"
|
||||
environment:
|
||||
BASE_PATH: ""
|
||||
JWT_SECRET: ${BYTE_JWT_SECRET}
|
||||
TOKEN_EXPIRY: 24h
|
||||
ALLOW_NEW_ACCOUNTS: "false"
|
||||
DEBUG: "true"
|
||||
DISABLE_ACCOUNTS: "false"
|
||||
DISABLE_INTERNAL_ACCOUNTS: "false"
|
||||
|
||||
dockerproxy:
|
||||
image: ghcr.io/tecnativa/docker-socket-proxy:latest
|
||||
container_name: dockerproxy
|
||||
@@ -568,7 +633,7 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
foundry:
|
||||
build: ./Services/foundry-login
|
||||
build: ./services/foundry-login
|
||||
container_name: foundry-login
|
||||
environment:
|
||||
- SSH_HOST=${FOUNDRY_SSH_HOST}
|
||||
@@ -636,7 +701,7 @@ services:
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Pacific/Auckland
|
||||
- TZ=${TZ}
|
||||
- HOMEPAGE_ALLOWED_HOSTS=${HOMEPAGE_ALLOWED_HOSTS}
|
||||
volumes:
|
||||
- ./services/Homepage/config/images:/app/public/images
|
||||
@@ -666,7 +731,7 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
racknerd-api-converter:
|
||||
build: ./Services/racknerd-converter
|
||||
build: ./services/racknerd-converter
|
||||
container_name: RacknerdConverter
|
||||
environment:
|
||||
- RACKNERD_API_KEY=${RACKNERD_API_KEY}
|
||||
@@ -739,6 +804,25 @@ services:
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
whisper:
|
||||
image: linuxserver/faster-whisper:latest
|
||||
container_name: faster-whisper
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=${TZ}
|
||||
- WHISPER_MODEL=tiny-int8
|
||||
- WHISPER_BEAM=1 #optional
|
||||
- WHISPER_LANG=en #optional
|
||||
volumes:
|
||||
- ./services/whisper:/config
|
||||
ports:
|
||||
- 10300:10300
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
arr_network:
|
||||
ipv4_address: 172.20.0.15
|
||||
|
||||
networks:
|
||||
arr_network:
|
||||
driver: bridge
|
||||
|
Reference in New Issue
Block a user