No description
- Shell 100%
| audiobookshelf | ||
| bentopdf | ||
| checkmate | ||
| convertx | ||
| copyparty | ||
| docker-management | ||
| git | ||
| glances | ||
| grimmory | ||
| grocy | ||
| image-converter | ||
| jellyfin | ||
| jelu | ||
| karakeep | ||
| libretranslate | ||
| makemkv | ||
| matrix-chat | ||
| mkvtoolnix | ||
| musicbrainz-picard | ||
| navidrome | ||
| outline | ||
| paperless | ||
| pihole | ||
| plex | ||
| remote-metadata | ||
| speedtest | ||
| splitpro | ||
| tdarr | ||
| tubearchivist | ||
| vikunja | ||
| wiki | ||
| yubal | ||
| .gitignore | ||
| docker-compose.yml | ||
| docker-compose.yml.backup | ||
| docker-compose.yml.save | ||
| macvlan_bridge.sh | ||
| manage-services.sh | ||
| README.md | ||
server_docker_configs
Docker configs files to run on Home Server
Docker Compose Stack Structure
The monolithic docker-compose.yml has been split into separate compose files organized by service category.
Directory Structure
Each subdirectory contains a docker-compose.yml file with related services:
DNS & Network
- pihole/ - DNS services (unbound, pihole)
Docker Management
- docker-management/ - Docker management tools (socket-proxy, tugtainer)
Documents
- bentopdf/ - PDF tools and editor
- image-converter/ - Image format converter
- convertx/ - Universal file converter
- libretranslate/ - Translation service
File Server
- copyparty/ - File sharing service (copyparty)
Paperless
- paperless/ - Paperless document management (paperless-ngx, redis, db, gotenberg, tika)
Karakeep
- karakeep/ - Bookmark manager (karakeep, chrome, meilisearch)
Monitoring
- glances/ - System monitoring and performance analysis
- speedtest/ - Speed testing tools (openspeedtest)
- checkmate/ - Uptime monitoring (client, server, redis, mongodb, capture)
Media
- plex/ - Plex media server
- jellyfin/ - Jellyfin media server
- makemkv/ - DVD/Blu-ray ripper
- tdarr/ - Media transcoding automation
- mkvtoolnix/ - MKV file editing tools
- remote-metadata/ - Music Metadata Editor
- navidrome/ - Music streaming service
Matrix Chat
- matrix-chat/ - Matrix chat server (synapse, auth-service, livekit)
YouTube Downloaders
- tubearchivist/ - YouTube archiving (tubearchivist, redis, elasticsearch)
- yubal/ - YouTube music downloader
Git
- git/ - Git repository hosting (forgejo, postgres)
Wiki
- wiki/ - Wiki.js documentation (wiki, postgres)
Splitpro
- splitpro/ - Splitpro, self-hosted alternative for Splitwise
Books
- jelu/ - Catalog of physical books
E-books
- grimmory/ - E-book app with syncing support
Audiobooks
- audiobookshelf/ - Self-hosted audiobook and podcast server
Grocy
- grocy/ - Household stock manager
TODO Lists
- vikunja/ - Vikunja is open-source task management with lists
Usage
Managing All Services
Use the manage-services.sh script to control all service groups at once:
# Start all services
./manage-services.sh start
# Stop all services
./manage-services.sh stop
# Restart all services
./manage-services.sh restart
# Check status of all services
./manage-services.sh status
# Pull latest images for all services
./manage-services.sh pull
# Initialize all bind mount directories
./manage-services.sh init
The script will:
- Iterate through all subdirectories
- Execute the specified action on each service group
- Display progress and a summary with success/failure counts
- Exit with error if any service group fails
Managing Individual Service Groups
Start services in a specific category:
cd <service-directory>
docker compose up -d
Stop services in a specific category:
cd <service-directory>
docker compose down
View logs for a specific service group:
cd <service-directory>
docker compose logs -f
Managing Specific Service Only
You can also use the script to manage a specific service:
# Start only plex
./manage-services.sh start plex
# Stop only glances
./manage-services.sh stop glances
# Restart only the pihole services
./manage-services.sh restart pihole
# Check status of git services
./manage-services.sh status git
# Initialize bind mounts for paperless only
./manage-services.sh init paperless
Backup
The original monolithic docker-compose.yml has been saved as docker-compose.yml.backup.