Compare commits

...

10 Commits

10 changed files with 517 additions and 118 deletions

353
README.md
View File

@@ -3,124 +3,241 @@
For the past 4-5 years I've been testing multiple docker containers. Here is a list of anything worth having in docker imo.. Few things may be left off or not currently maintained. I plan to add folders and update docker-compose.yml for each container later. At least for backup purposes. Some currently have private info so will need to refine those first.
Docker containers in my testing library:
- adguard
- amule
- apprise
- audiobookshelf
- authelia
- bazarr
- beets
- calibre
- calibre-web
- chd-converter
- code-server
- ddclient
- deemix
- deluge
- dillinger
- doublecommander
- elasticsearch
- filebrowser
- flaresolverr
- gamevault
- gameyfin
- gitea
- glances
- gluetun
- gmod
- grafana
- grifter
- headphones
- heimdall
- homarr
- homeassistant
- homebridge
- immich
- jackett
- jdownloader
- jellyfin
- joplin
- jupyter
- kometa
- lazylibrarian
- libation
- lidarr
- mailcow
- mailserver
- mariadb
- mastadon
- mastodon
- mealie
- mediacms
- minecraft-paper_itzg
- mkvtoolnix
- mongodb
- mosquitto-eclipse
- musicbrainz
- n8n
- navidrome
- netbootxyz
- nginxproxymanager
- node-red
- nostr-relay
- notifiarr
- nzbget
- ombi
- open-assistant
- openbooks
- organizr
- paperless-ng
- phpmyadmin
- picard
- pidgin
- plex
- plex-image-cleanup
- pms-docker
- podgrab
- portainer
- portainer-be
- portainer-ce
- postgres_data
- prometheus
- prowlarr
- qbittorrent
- radarr
- rainloop
- readarr
- recyclarr
- requestrr
- romm
- romvault
- sabnzbd
- shoutrrr
- sonarr
- soulseek
- spotify-playlist-generator
- spotisub
- sptnr
- swag-letsencrypt
- swag-letsencrypt_duckdns
- tautulli
- tdarr
- tellytv
- traefik
- trilium
- tubearchivist
- tvheadend
- unpackerr
- vscodium
- watchtower
- web-dev-compose.yml
- webgrabplus
- wg-easy
- whisper-webui
- wireguard
- wireshark
- xbackbone
- xteve
- youtube-dl-material
- youtube-dl-server
- [adguard](./adguard)
*Network-wide ad blocker and privacy protection.*
- [amule](./amule)
*Peer-to-peer file sharing client for the eDonkey network.*
- [apprise](./apprise)
*Unified notification service for multiple platforms.*
- [audiobookshelf](./audiobookshelf)
*Self-hosted audiobook server and web player.*
- [authelia](./authelia)
*Authentication and authorization server for your applications.*
- [bazarr](./bazarr)
*Subtitle management for Radarr and Sonarr.*
- [beets](./beets)
*Music library organizer and tagger.*
- [calibre](./calibre)
*E-book management software.*
- [calibre-web](./calibre-web)
*Web-based interface for Calibre e-book library.*
- [chd-converter](./chd-converter)
*Tool for converting disk images to CHD format.*
- [code-server](./code-server)
*VS Code running on a remote server accessible through the browser.*
- [ddclient](./ddclient)
*Dynamic DNS update client.*
- [deemix](./deemix)
*Music downloader for Deezer.*
- [deluge](./deluge)
*Lightweight, open-source BitTorrent client.*
- [dillinger](./dillinger)
*Online Markdown editor.*
- [doublecommander](./doublecommander)
*Cross-platform file manager.*
- [elasticsearch](./elasticsearch)
*Distributed search and analytics engine.*
- [filebrowser](./filebrowser)
*Web-based file manager for your server.*
- [flaresolverr](./flaresolverr)
*Proxy server to bypass Cloudflare protection.*
- [gamevault](./gamevault)
*Game library manager.*
- [gameyfin](./gameyfin)
*Game streaming server.*
- [gitea](./gitea)
*Self-hosted Git service.*
- [glances](./glances)
*System monitoring tool.*
- [gluetun](./gluetun)
*VPN client for Docker containers.*
- [gmod](./gmod)
*Garry's Mod game server.*
- [grafana](./grafana)
*Analytics and monitoring dashboard.*
- [grifter](./grifter)
*Automation and scripting tool.*
- [headphones](./headphones)
*Music download manager for Usenet and torrents.*
- [heimdall](./heimdall)
*Application dashboard for your server.*
- [homarr](./homarr)
*Modern dashboard for managing your home server.*
- [homeassistant](./homeassistant)
*Open-source home automation platform.*
- [homebridge](./homebridge)
*HomeKit support for non-Apple devices.*
- [immich](./immich)
*Self-hosted photo and video backup solution.*
- [jackett](./jackett)
*API support for torrent indexers.*
- [jdownloader](./jdownloader)
*Download manager for various file hosts.*
- [jellyfin](./jellyfin)
*Open-source media server.*
- [joplin](./joplin)
*Note-taking and to-do application.*
- [jupyter](./jupyter)
*Interactive notebooks for code and data.*
- [kometa](./kometa)
*Media library metadata manager.*
- [lazylibrarian](./lazylibrarian)
*Book download and management tool.*
- [libation](./libation)
*Audiobook downloader and manager.*
- [lidarr](./lidarr)
*Music collection manager for Usenet and torrents.*
- [mailcow](./mailcow)
*Self-hosted mail server suite.*
- [mailserver](./mailserver)
*General purpose mail server.*
- [mariadb](./mariadb)
*Open-source relational database.*
- [mastadon](./mastadon)
*Decentralized social network server.*
- [mastodon](./mastodon)
*Decentralized social network server.*
- [mealie](./mealie)
*Recipe management and meal planning.*
- [mediacms](./mediacms)
*Open-source media content management system.*
- [minecraft-paper_itzg](./minecraft-paper_itzg)
*Minecraft Paper server by itzg.*
- [mkvtoolnix](./mkvtoolnix)
*Tools for working with Matroska media files.*
- [mongodb](./mongodb)
*NoSQL document database.*
- [mosquitto-eclipse](./mosquitto-eclipse)
*MQTT broker for IoT messaging.*
- [musicbrainz](./musicbrainz)
*Open music encyclopedia database.*
- [n8n](./n8n)
*Workflow automation tool.*
- [navidrome](./navidrome)
*Music streaming server.*
- [netbootxyz](./netbootxyz)
*Network boot server for OS installations.*
- [nginxproxymanager](./nginxproxymanager)
*Web proxy management with a GUI.*
- [node-red](./node-red)
*Flow-based programming for IoT.*
- [nostr-relay](./nostr-relay)
*Relay server for Nostr protocol.*
- [notifiarr](./notifiarr)
*Notification integration for media servers.*
- [nzbget](./nzbget)
*Usenet downloader.*
- [ombi](./ombi)
*Media request management for Plex/Emby/Jellyfin.*
- [open-assistant](./open-assistant)
*Open-source AI assistant.*
- [openbooks](./openbooks)
*Book search and download tool.*
- [organizr](./organizr)
*Unified web interface for your services.*
- [paperless-ng](./paperless-ng)
*Document management system.*
- [phpmyadmin](./phpmyadmin)
*Web-based MySQL/MariaDB administration.*
- [picard](./picard)
*Music tagger by MusicBrainz.*
- [pidgin](./pidgin)
*Multi-protocol chat client.*
- [plex](./plex)
*Media server for streaming your content.*
- [plex-image-cleanup](./plex-image-cleanup)
*Tool to clean up Plex image cache.*
- [pms-docker](./pms-docker)
*Plex Media Server Docker image.*
- [podgrab](./podgrab)
*Podcast downloader and manager.*
- [portainer](./portainer)
*Docker management GUI.*
- [portainer-be](./portainer-be)
*Portainer backend service.*
- [portainer-ce](./portainer-ce)
*Portainer Community Edition.*
- [postgres_data](./postgres_data)
*PostgreSQL database data container.*
- [prometheus](./prometheus)
*Monitoring and alerting toolkit.*
- [prowlarr](./prowlarr)
*Indexer manager for Usenet and torrents.*
- [qbittorrent](./qbittorrent)
*Open-source BitTorrent client.*
- [radarr](./radarr)
*Movie collection manager for Usenet and torrents.*
- [rainloop](./rainloop)
*Webmail client.*
- [readarr](./readarr)
*Book collection manager for Usenet and torrents.*
- [recyclarr](./recyclarr)
*Syncs trash/recycle settings for media managers.*
- [requestrr](./requestrr)
*Discord bot for media requests.*
- [romm](./romm)
*Retro game manager.*
- [romvault](./romvault)
*ROM management and auditing tool.*
- [sabnzbd](./sabnzbd)
*Usenet binary downloader.*
- [shoutrrr](./shoutrrr)
*Notification library for various services.*
- [sonarr](./sonarr)
*TV series collection manager for Usenet and torrents.*
- [soulseek](./soulseek)
*Peer-to-peer music sharing client.*
- [spotify-playlist-generator](./spotify-playlist-generator)
*Tool to generate Spotify playlists.*
- [spotisub](./spotisub)
*Spotify playlist subscription manager.*
- [sptnr](./sptnr)
*Spotify playlist and library manager.*
- [swag-letsencrypt](./swag-letsencrypt)
*Secure Web Application Gateway with Let's Encrypt.*
- [swag-letsencrypt_duckdns](./swag-letsencrypt_duckdns)
*SWAG with DuckDNS integration.*
- [tautulli](./tautulli)
*Plex usage monitoring and analytics.*
- [tdarr](./tdarr)
*Distributed media transcoding system.*
- [tellytv](./tellytv)
*IPTV proxy for Plex.*
- [traefik](./traefik)
*Modern reverse proxy and load balancer.*
- [trilium](./trilium)
*Hierarchical note-taking application.*
- [tubearchivist](./tubearchivist)
*YouTube archiving and management tool.*
- [tvheadend](./tvheadend)
*TV streaming server for DVB, ATSC, IPTV.*
- [unpackerr](./unpackerr)
*Automated extraction of archives for media managers.*
- [vscodium](./vscodium)
*Open-source build of VS Code.*
- [watchtower](./watchtower)
*Automatic update for Docker containers.*
- [web-dev-compose.yml](./web-dev-compose.yml)
*Web development Docker Compose setup.*
- [webgrabplus](./webgrabplus)
*EPG (Electronic Program Guide) grabber.*
- [wg-easy](./wg-easy)
*Simple WireGuard VPN management.*
- [whisper-webui](./whisper-webui)
*Web UI for OpenAI Whisper speech-to-text.*
- [wireguard](./wireguard)
*Fast, modern VPN tunnel.*
- [wireshark](./wireshark)
*Network protocol analyzer.*
- [xbackbone](./xbackbone)
*File sharing and image hosting platform.*
- [xteve](./xteve)
*IPTV proxy for Plex and Emby.*
- [youtube-dl-material](./youtube-dl-material)
*Web UI for youtube-dl downloads.*
- [youtube-dl-server](./youtube-dl-server)
*REST API for youtube-dl.*
Most of these I have used, give or take a few. Around 70 or so active currently. Will format those later

View File

@@ -0,0 +1,24 @@
---
version: "2.1"
services:
webgrabplus:
image: lscr.io/linuxserver/webgrabplus:latest
container_name: webgrabplus
hostname: webgrabplus
mac_address: 00:11:22:33:44:55
environment:
- PUID=1000
- PGID=1006
- TZ=America/New_York
volumes:
- /docker-containers/webgrabplus:/config
- /unsorted/iptv/tvheadend:/data
restart: unless-stopped
stdin_open: true # to attach to containers
tty: true # also used to attach to containers
# network_mode: service:wireguard # To run through vpn service container, in turn UI port must be forwarded inside vpn. No local access unless otherwise defined
networks: # Specify network for container
- homelab
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly)

View File

@@ -0,0 +1,54 @@
services:
wg-easy:
environment:
# Change Language:
# (Supports: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi, ja, si)
- LANG=en
# ⚠️ Required:
# Change this to your host's public address
- WG_HOST=example.duckdns.org
# Optional:
# - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG # (needs double $$, hash of 'foobar123'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash)
# - PORT=51821
# - WG_PORT=51820
# - WG_CONFIG_PORT=92820
- WG_DEFAULT_ADDRESS=10.4.2.x
- WG_DEFAULT_DNS=1.1.1.1
# - WG_MTU=1420
# - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
# - WG_PERSISTENT_KEEPALIVE=25
# - WG_PRE_UP=echo "Pre Up" > /etc/wireguard/pre-up.txt
# - WG_POST_UP=echo "Post Up" > /etc/wireguard/post-up.txt
# - WG_PRE_DOWN=echo "Pre Down" > /etc/wireguard/pre-down.txt
# - WG_POST_DOWN=echo "Post Down" > /etc/wireguard/post-down.txt
# - UI_TRAFFIC_STATS=true
# - UI_CHART_TYPE=0 # (0 Charts disabled, 1 # Line chart, 2 # Area chart, 3 # Bar chart)
# - WG_ENABLE_ONE_TIME_LINKS=true
# - UI_ENABLE_SORT_CLIENTS=true
# - WG_ENABLE_EXPIRES_TIME=true
# - ENABLE_PROMETHEUS_METRICS=false
# - PROMETHEUS_METRICS_PASSWORD=$$2a$$12$$vkvKpeEAHD78gasyawIod.1leBMKg8sBwKW.pQyNsq78bXV3INf2G # (needs double $$, hash of 'prometheus_password'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash)
image: ghcr.io/wg-easy/wg-easy
container_name: wg-easy
volumes:
- /docker-containers/wg-easy:/etc/wireguard
# ports:
# - "51820:51820/udp"
# - "51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
# - NET_RAW # ⚠️ Uncomment if using Podman
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
network_mode: "container:gluetun"
# networks: # Specify network for container
# - homelab
# networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
# homelab:
# external: true # This option causes compose to join the above network instead of making a _default one (supposedly)

View File

@@ -0,0 +1,36 @@
services:
app:
build: .
image: jhj0517/whisper-webui:latest
volumes:
# Update paths to mount models and output paths to your custom paths like this, e.g:
# - C:/whisper-models/custom-path:/Whisper-WebUI/models
# - C:/whisper-webui-outputs/custom-path:/Whisper-WebUI/outputs
- /docker-containers/whisper-webui/models:/Whisper-WebUI/models
- /docker-containers/whisper-webui/outputs:/Whisper-WebUI/outputs
ports:
- "7860:7860"
stdin_open: true
tty: true
entrypoint: ["python", "app.py", "--server_port", "7860", "--server_name", "0.0.0.0",]
# If you're not using nvidia GPU, Update device to match yours.
# See more info at : https://docs.docker.com/compose/compose-file/deploy/#driver
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [ gpu ]
# network_mode: service:wireguard # To run through vpn service container, in turn UI port must be forwarded inside vpn. No local access unless otherwise defined
networks: # Specify network for container
- homelab
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly)

View File

@@ -0,0 +1,40 @@
---
version: "2.1"
services:
# VPN for connecting other containers or connect remotely to, for privacy
# This image utilises cap_add or sysctl to work properly.
# This is not implemented properly in some versions of Portainer, thus this image may not work if deployed through Portainer.
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1006
- TZ=America/New_York
# - SERVERURL=wireguard.example.com #optional ip or domain; can be set to auto
- SERVERPORT=8880 #optional
- PEERS=1 #optional can be a list, myPC,myPhone,myTablet
- PEERDNS=auto #optional default: auto
- INTERNAL_SUBNET=10.6.9.0 #optional
- ALLOWEDIPS=0.0.0.0/0 #optional
#- PERSISTENTKEEPALIVE_PEERS= #optional
- LOG_CONFS=true #optional set to false to skip log output
volumes:
- /docker-containers/wireguard:/config
- /lib/modules:/lib/modules #optional
ports:
- 8880:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
# stdin_open: true # to attach to containers
# tty: true # also used to attach to containers
# networks: # Specify network for container
# - homelab
# networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
# homelab:
# external: true # This option causes compose to join the above network instead of making a _default one (supposedly)

View File

@@ -0,0 +1,20 @@
---
version: "2.1"
services:
wireshark:
image: lscr.io/linuxserver/wireshark:latest
container_name: wireshark
cap_add:
- NET_ADMIN
security_opt:
- seccomp:unconfined #optional
network_mode: host
environment:
- PUID=1000
- PGID=1003
- TZ=America/New_York
volumes:
- /docker-containers/wireshark:/config
ports:
- 3057:3057 #optional
restart: unless-stopped

View File

@@ -0,0 +1,24 @@
---
version: "2.1"
services:
xbackbone:
image: lscr.io/linuxserver/xbackbone:latest
container_name: xbackbone
environment:
- PUID=1000
- PGID=1006
- TZ=America/New_York
volumes:
- /docker-containers/xbackbone:/config
ports:
- 8125:80
- 4432:443
restart: unless-stopped
stdin_open: true # to attach to containers
tty: true # also used to attach to containers
# network_mode: service:wireguard # To run through vpn service container, in turn UI port must be forwarded inside vpn. No local access unless otherwise defined
networks: # Specify network for container
- homelab
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly)

30
xteve/docker-compose.yml Normal file
View File

@@ -0,0 +1,30 @@
version: "2"
services:
xteve_g2g_owi:
container_name: xteve
image: alturismo/xteve_g2g_owi:latest
environment:
- TZ="America/New_York"
logging:
driver: "json-file"
options:
max-size: "50m"
max-file: "3"
restart: always
volumes:
- /docker-containers/xteve/:/root/.xteve:rw
- /docker-containers/xteve/_config/:/config:rw
- /docker-containers/_guide2go/:/guide2go:rw
- /docker-containers/_owi2plex/:/owi2plex:rw
- /docker-containers/tmp/xteve/:/tmp/xteve:rw
- /docker-containers/tvheadend/:/TVH
ports:
- "34400:34400"
stdin_open: true # to attach to containers
tty: true # also used to attach to containers
# network_mode: service:wireguard # To run through vpn service container, in turn UI port must be forwarded inside vpn. No local access unless otherwise defined
networks: # Specify network for container
- homelab
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly)

View File

@@ -0,0 +1,37 @@
#version: "2.1" # Outdated and not used in updated compose/portainer
services:
ytdl_material:
container_name: ytdl-material
# hostname: youtube-dl-server # if you need a quick second name possibly
environment:
UID: 1000
GID: 1006
ALLOW_CONFIG_MUTATIONS: 'true'
ytdl_mongodb_connection_string: 'mongodb://yourusername:ChangeMe123!@mongo:27017/'
ytdl_use_local_db: 'true'
write_ytdl_config: 'true'
restart: always
# depends_on: # is compose file specific
# - mongo-db
volumes:
- /docker-containers/youtube-dl-material/appdata:/app/appdata
- /Music/Youtube-DL:/app/audio
- /Videos/Youtube-DL:/app/video
- /docker-containers/youtube-dl-material/subscriptions:/app/subscriptions
- /docker-containers/youtube-dl-material/users:/app/users
ports:
- "8998:17442"
image: tzahi12345/youtubedl-material:latest
stdin_open: true
tty: true
networks:
homelab:
aliases:
- youtube-dl-server # how to add multiple aliases
- youtube-dl
- ytdl
- yt-dl-material
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab: # Sub-section, any network name or 'default' to edit default one created
external: true # This option causes compose to join the above network instead of making a _default one

View File

@@ -0,0 +1,17 @@
version: '3.5'
services:
youtube-dl-server:
image: "nbr23/youtube-dl-server:latest"
container_name: youtube-dl-server
volumes:
# - $HOME/youtube-dl:/youtube-dl
- /docker-containers/youtube-dl-server/youtube-dl:/youtube-dl
- /docker-containers/youtube-dl-server/config.yml:/app_config/config.yml:ro # Overwrite the container's config file with your own configuration
restart: always
networks: # Specify network for container
- homelab
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly) also forces to join instead of creating one