Compare commits

..

16 Commits

Author SHA1 Message Date
2389c0eb00 feat: add MongoDB service to README for documentation completeness 2025-12-12 17:42:45 -05:00
4d0a0ce05d feat: add MongoDB and Mongo Express services to docker-compose configuration 2025-12-12 17:38:26 -05:00
635e6db7d8 docs: update README to improve container descriptions and add new services 2025-12-12 17:18:58 -05:00
120bd43cbc chore: update docker-compose configuration for open-webui service 2025-12-12 17:07:53 -05:00
23e5987799 feat: update ollama service configuration for NVIDIA support and environment variables
Only way I could mount my p100 gpu to ollama in docker container. Still had to install extra stuff on debian that was for ubuntu. Didn't feel right, did it anyways. Worked.
2025-12-12 17:07:09 -05:00
4b50114591 chore: update docker-compose configuration for Node-RED service 2025-12-12 17:05:47 -05:00
daa6f061fc docs: update title and clarify description for chd-converter in README (README.md) 2025-11-27 19:34:32 -05:00
9a0d137494 docs: update README to reflect current container organization and usage 2025-11-27 19:29:36 -05:00
fb0f74d72f Move all service folders into docker-compose directory 2025-11-27 19:24:55 -05:00
2f2dc52f74 feat: add initial .env configuration for ghostfolio service 2025-11-22 15:07:59 -05:00
6044ba0566 fix: clean up .env file by removing unused database and redis configurations 2025-11-22 15:07:30 -05:00
a522ab609e fix: update docker-compose configuration for redis service to use searxng_net (docker-compose.yml) 2025-11-22 15:07:07 -05:00
9f1fd502ea fix: update docker-compose configuration for open-webui service 2025-11-22 15:06:12 -05:00
e08dd5bc7b fix: update docker-compose configuration for ghostfolio service and redis network settings 2025-11-22 15:04:44 -05:00
a4abc5e710 fix: update docker-compose configuration for tubearchivist service and redis network settings 2025-11-22 15:04:10 -05:00
ae6dbd2bc6 fix: update network configurations to use immich_net for services (docker-compose.yml) 2025-11-22 15:03:42 -05:00
145 changed files with 506 additions and 458 deletions

510
README.md
View File

@@ -1,244 +1,280 @@
# Home-Server Development # Docker-Home-Server Development
## Docker Home Server Testing & Setup ## Docker Home Server Testing & Setup
Welcome to my home server development repository! Over the past 4-5 years, Ive tested a wide variety of Docker containers for self-hosting and automation. This repo collects the containers Ive found most useful, though some may be missing or not actively maintained. My goal is to organize each container into its own folder with a `docker-compose.yml` for easy setup and backup. Some configurations contain private information and will be refined before public release. Welcome to my home server development repository! Over the past 4-5 years, Ive tested a wide variety of Docker containers for self-hosting and automation. This repo collects the containers Ive found most useful, though some may be missing or not actively maintained. My goal is to organize each container into its own folder with a `docker-compose.yml` for easy setup and backup. Some configurations contain private information and will be refined before public release.
Below is a list of containers Ive tested and recommend for various home server tasks. - [adguard](./docker-compose/adguard)
*Network-wide ad blocker and privacy protection.*
- [adguard](./adguard) - [airdcpp](./docker-compose/airdcpp)
*Network-wide ad blocker and privacy protection.* *Advanced Direct Connect client.*
- [amule](./amule) - [amule](./docker-compose/amule)
*Peer-to-peer file sharing client for the eDonkey network.* *Peer-to-peer file sharing client for the eDonkey network.*
- [apprise](./apprise) - [apprise](./docker-compose/apprise)
*Unified notification service for multiple platforms.* *Unified notification service for multiple platforms.*
- [audiobookshelf](./audiobookshelf) - [aria2](./docker-compose/aria2)
*Self-hosted audiobook server and web player.* *Lightweight multi-protocol & multi-source command-line download utility.*
- [authelia](./authelia) - [audiobookshelf](./docker-compose/audiobookshelf)
*Authentication and authorization server for your applications.* *Self-hosted audiobook server and web player.*
- [bazarr](./bazarr) - [authelia](./docker-compose/authelia)
*Subtitle management for Radarr and Sonarr.* *Authentication and authorization server for your applications.*
- [beets](./beets) - [bazarr](./docker-compose/bazarr)
*Music library organizer and tagger.* *Subtitle management for Radarr and Sonarr.*
- [calibre](./calibre) - [beets](./docker-compose/beets)
*E-book management software.* *Music library organizer and tagger.*
- [calibre-web](./calibre-web) - [btcpayserver](./docker-compose/btcpayserver)
*Web-based interface for Calibre e-book library.* *Self-hosted Bitcoin payment processor.*
- [chd-converter](./chd-converter) - [calibre](./docker-compose/calibre)
*Tool for converting disk images to CHD format.* *E-book management software.*
- [code-server](./code-server) - [calibre-web](./docker-compose/calibre-web)
*VS Code running on a remote server accessible through the browser.* *Web-based interface for Calibre e-book library.*
- [ddclient](./ddclient) - [chd-converter](./docker-compose/chd-converter)
*Dynamic DNS update client.* *Tool for converting PlayStation disk images to CHD format.*
- [deemix](./deemix) - [code-server](./docker-compose/code-server)
*Music downloader for Deezer.* *VS Code running on a remote server accessible through the browser.*
- [deluge](./deluge) - [dashy](./docker-compose/dashy)
*Lightweight, open-source BitTorrent client.* *Self-hosted dashboard app for organizing links and services.*
- [dillinger](./dillinger) - [ddclient](./docker-compose/ddclient)
*Online Markdown editor.* *Dynamic DNS update client.*
- [doublecommander](./doublecommander) - [deemix](./docker-compose/deemix)
*Cross-platform file manager.* *Music downloader for Deezer.*
- [elasticsearch](./elasticsearch) - [deluge](./docker-compose/deluge)
*Distributed search and analytics engine.* *Lightweight, open-source BitTorrent client.*
- [filebrowser](./filebrowser) - [dillinger](./docker-compose/dillinger)
*Web-based file manager for your server.* *Online Markdown editor.*
- [flaresolverr](./flaresolverr) - [doublecommander](./docker-compose/doublecommander)
*Proxy server to bypass Cloudflare protection.* *Cross-platform file manager.*
- [gamevault](./gamevault) - [elasticsearch](./docker-compose/elasticsearch)
*Game library manager.* *Distributed search and analytics engine.*
- [gameyfin](./gameyfin) - [filebrowser](./docker-compose/filebrowser)
*Game streaming server.* *Web-based file manager for your server.*
- [gitea](./gitea) - [filedrop](./docker-compose/filedrop)
*Self-hosted Git service.* *Simple file sharing app.*
- [glances](./glances) - [filegator](./docker-compose/filegator)
*System monitoring tool.* *Web-based file manager.*
- [gluetun](./gluetun) - [flaresolverr](./docker-compose/flaresolverr)
*VPN client for Docker containers.* *Proxy server to bypass Cloudflare protection.*
- [gmod](./gmod) - [foundryvtt](./docker-compose/foundryvtt)
*Garry's Mod game server.* *Virtual Tabletop for RPGs.*
- [grafana](./grafana) - [freshrss](./docker-compose/freshrss)
*Analytics and monitoring dashboard.* *Self-hosted RSS feed aggregator.*
- [grifter](./grifter) - [gamevault](./docker-compose/gamevault)
*Automation and scripting tool.* *Game library manager.*
- [headphones](./headphones) - [gameyfin](./docker-compose/gameyfin)
*Music download manager for Usenet and torrents.* *Game streaming server.*
- [heimdall](./heimdall) - [ghostfolio](./docker-compose/ghostfolio)
*Application dashboard for your server.* *Personal finance management.*
- [homarr](./homarr) - [gitea](./docker-compose/gitea)
*Modern dashboard for managing your home server.* *Self-hosted Git service.*
- [homeassistant](./homeassistant) - [glances](./docker-compose/glances)
*Open-source home automation platform.* *System monitoring tool.*
- [homebridge](./homebridge) - [gluetun](./docker-compose/gluetun)
*HomeKit support for non-Apple devices.* *VPN client for Docker containers.*
- [immich](./immich) - [gmod](./docker-compose/gmod)
*Self-hosted photo and video backup solution.* *Garry's Mod game server.*
- [jackett](./jackett) - [grafana](./docker-compose/grafana)
*API support for torrent indexers.* *Analytics and monitoring dashboard.*
- [jdownloader](./jdownloader) - [grifter](./docker-compose/grifter)
*Download manager for various file hosts.* *Automation and scripting tool.*
- [jellyfin](./jellyfin) - [headphones](./docker-compose/headphones)
*Open-source media server.* *Music download manager for Usenet and torrents.*
- [joplin](./joplin) - [heimdall](./docker-compose/heimdall)
*Note-taking and to-do application.* *Application dashboard for your server.*
- [jupyter](./jupyter) - [homarr](./docker-compose/homarr)
*Interactive notebooks for code and data.* *Modern dashboard for managing your home server.*
- [kometa](./kometa) - [homeassistant](./docker-compose/homeassistant)
*Media library metadata manager.* *Open-source home automation platform.*
- [lazylibrarian](./lazylibrarian) - [homebridge](./docker-compose/homebridge)
*Book download and management tool.* *HomeKit support for non-Apple devices.*
- [libation](./libation) - [immich](./docker-compose/immich)
*Audiobook downloader and manager.* *Self-hosted photo and video backup solution.*
- [lidarr](./lidarr) - [iptv-org-epg](./docker-compose/iptv-org-epg)
*Music collection manager for Usenet and torrents.* *EPG for IPTV.*
- [mailcow](./mailcow) - [it-tools](./docker-compose/it-tools)
*Self-hosted mail server suite.* *Handy web-based tools for developers.*
- [mailserver](./mailserver) - [jackett](./docker-compose/jackett)
*General purpose mail server.* *API support for torrent indexers.*
- [mariadb](./mariadb) - [jdownloader](./docker-compose/jdownloader)
*Open-source relational database.* *Download manager for various file hosts.*
- [mastadon](./mastadon) - [jellyfin](./docker-compose/jellyfin)
*Decentralized social network server.* *Open-source media server.*
- [mastodon](./mastodon) - [joplin](./docker-compose/joplin)
*Decentralized social network server.* *Note-taking and to-do application.*
- [mealie](./mealie) - [jupyter](./docker-compose/jupyter)
*Recipe management and meal planning.* *Interactive notebooks for code and data.*
- [mediacms](./mediacms) - [karakeep](./docker-compose/karakeep)
*Open-source media content management system.* *Self-hosted note-taking app.*
- [minecraft-paper_itzg](./minecraft-paper_itzg) - [kometa](./docker-compose/kometa)
*Minecraft Paper server by itzg.* *Media library metadata manager.*
- [mkvtoolnix](./mkvtoolnix) - [lancommander](./docker-compose/lancommander)
*Tools for working with Matroska media files.* *LAN party management tool.*
- [mongodb](./mongodb) - [lazylibrarian](./docker-compose/lazylibrarian)
*NoSQL document database.* *Book download and management tool.*
- [mosquitto-eclipse](./mosquitto-eclipse) - [libation](./docker-compose/libation)
*MQTT broker for IoT messaging.* *Audiobook downloader and manager.*
- [musicbrainz](./musicbrainz) - [lidarr](./docker-compose/lidarr)
*Open music encyclopedia database.* *Music collection manager for Usenet and torrents.*
- [n8n](./n8n) - [mailcow](./docker-compose/mailcow)
*Workflow automation tool.* *Self-hosted mail server suite.*
- [navidrome](./navidrome) - [mailserver](./docker-compose/mailserver)
*Music streaming server.* *General purpose mail server.*
- [netbootxyz](./netbootxyz) - [mariadb](./docker-compose/mariadb)
*Network boot server for OS installations.* *Open-source relational database.*
- [nginxproxymanager](./nginxproxymanager) - [mastodon](./docker-compose/mastodon)
*Web proxy management with a GUI.* *Decentralized social network server.*
- [node-red](./node-red) - [mealie](./docker-compose/mealie)
*Flow-based programming for IoT.* *Recipe management and meal planning.*
- [nostr-relay](./nostr-relay) - [mediacms](./docker-compose/mediacms)
*Relay server for Nostr protocol.* *Open-source media content management system.*
- [notifiarr](./notifiarr) - [minecraft-paper_itzg](./docker-compose/minecraft-paper_itzg)
*Notification integration for media servers.* *Minecraft Paper server by itzg.*
- [nzbget](./nzbget) - [mixpost](./docker-compose/mixpost)
*Usenet downloader.* *Social media scheduling platform.*
- [ombi](./ombi) - [mkvtoolnix](./docker-compose/mkvtoolnix)
*Media request management for Plex/Emby/Jellyfin.* *Tools for working with Matroska media files.*
- [open-assistant](./open-assistant) - [mongodb](./docker-compose/mongodb)
*Open-source AI assistant.* *NoSQL document database.*
- [openbooks](./openbooks) - [mosquitto-eclipse](./docker-compose/mosquitto-eclipse)
*Book search and download tool.* *MQTT broker for IoT messaging.*
- [organizr](./organizr) - [musicbrainz](./docker-compose/musicbrainz)
*Unified web interface for your services.* *Open music encyclopedia database.*
- [paperless-ng](./paperless-ng) - [n8n](./docker-compose/n8n)
*Document management system.* *Workflow automation tool.*
- [phpmyadmin](./phpmyadmin) - [navidrome](./docker-compose/navidrome)
*Web-based MySQL/MariaDB administration.* *Music streaming server.*
- [picard](./picard) - [netbootxyz](./docker-compose/netbootxyz)
*Music tagger by MusicBrainz.* *Network boot server for OS installations.*
- [pidgin](./pidgin) - [nginxproxymanager](./docker-compose/nginxproxymanager)
*Multi-protocol chat client.* *Web proxy management with a GUI.*
- [plex](./plex) - [nicotineplus](./docker-compose/nicotineplus)
*Media server for streaming your content.* *Soulseek client. Download music, tv, movies, ebooks, and more.*
- [plex-image-cleanup](./plex-image-cleanup) - [node-red](./docker-compose/node-red)
*Tool to clean up Plex image cache.* *Flow-based programming for IoT.*
- [pms-docker](./pms-docker) - [nostr-relay](./docker-compose/nostr-relay)
*Plex Media Server Docker image.* *Relay server for Nostr protocol.*
- [podgrab](./podgrab) - [notifiarr](./docker-compose/notifiarr)
*Podcast downloader and manager.* *Notification integration for media servers.*
- [portainer](./portainer) - [nzbget](./docker-compose/nzbget)
*Docker management GUI.* *Usenet downloader.*
- [portainer-be](./portainer-be) - [ollama](./docker-compose/ollama)
*Portainer backend service.* *Run large language models locally.*
- [portainer-ce](./portainer-ce) - [ombi](./docker-compose/ombi)
*Portainer Community Edition.* *Media request management for Plex/Emby/Jellyfin.*
- [postgres_data](./postgres_data) - [omni-tools](./docker-compose/omni-tools)
*PostgreSQL database data container.* *Collection of useful tools.*
- [prometheus](./prometheus) - [open-assistant](./docker-compose/open-assistant)
*Monitoring and alerting toolkit.* *Open-source AI assistant.*
- [prowlarr](./prowlarr) - [open-webui](./docker-compose/open-webui)
*Indexer manager for Usenet and torrents.* *Web UI for LLMs.*
- [qbittorrent](./qbittorrent) - [openbooks](./docker-compose/openbooks)
*Open-source BitTorrent client.* *Book search and download tool.*
- [radarr](./radarr) - [organizr](./docker-compose/organizr)
*Movie collection manager for Usenet and torrents.* *Unified web interface for your services.*
- [rainloop](./rainloop) - [paperless-ng](./docker-compose/paperless-ng)
*Webmail client.* *Document management system.*
- [readarr](./readarr) - [phpmyadmin](./docker-compose/phpmyadmin)
*Book collection manager for Usenet and torrents.* *Web-based MySQL/MariaDB administration.*
- [recyclarr](./recyclarr) - [picard](./docker-compose/picard)
*Syncs trash/recycle settings for media managers.* *Music tagger by MusicBrainz.*
- [requestrr](./requestrr) - [pidgin](./docker-compose/pidgin)
*Discord bot for media requests.* *Multi-protocol chat client.*
- [romm](./romm) - [plex](./docker-compose/plex)
*Retro game manager.* *Media server for streaming your content.*
- [romvault](./romvault) - [plex-image-cleanup](./docker-compose/plex-image-cleanup)
*ROM management and auditing tool.* *Tool to clean up Plex image cache.*
- [sabnzbd](./sabnzbd) - [pms-docker](./docker-compose/pms-docker)
*Usenet binary downloader.* *Plex Media Server Docker image.*
- [shoutrrr](./shoutrrr) - [podgrab](./docker-compose/podgrab)
*Notification library for various services.* *Podcast downloader and manager.*
- [sonarr](./sonarr) - [portainer-be](./docker-compose/portainer-be)
*TV series collection manager for Usenet and torrents.* *Portainer backend service.*
- [soulseek](./soulseek) - [portainer-ce](./docker-compose/portainer-ce)
*Peer-to-peer music sharing client.* *Portainer Community Edition.*
- [spotify-playlist-generator](./spotify-playlist-generator) - [postgres](./docker-compose/postgres)
*Tool to generate Spotify playlists.* *PostgreSQL database.*
- [spotisub](./spotisub) - [postiz](./docker-compose/postiz)
*Spotify playlist subscription manager.* *Post management tool.*
- [sptnr](./sptnr) - [prometheus](./docker-compose/prometheus)
*Spotify playlist and library manager.* *Monitoring and alerting toolkit.*
- [swag-letsencrypt](./swag-letsencrypt) - [prowlarr](./docker-compose/prowlarr)
*Secure Web Application Gateway with Let's Encrypt.* *Indexer manager for Usenet and torrents.*
- [swag-letsencrypt_duckdns](./swag-letsencrypt_duckdns) - [qbittorrent](./docker-compose/qbittorrent)
*SWAG with DuckDNS integration.* *Open-source BitTorrent client.*
- [tautulli](./tautulli) - [radarr](./docker-compose/radarr)
*Plex usage monitoring and analytics.* *Movie collection manager for Usenet and torrents.*
- [tdarr](./tdarr) - [rainloop](./docker-compose/rainloop)
*Distributed media transcoding system.* *Webmail client.*
- [tellytv](./tellytv) - [readarr](./docker-compose/readarr)
*IPTV proxy for Plex.* *Book collection manager for Usenet and torrents.*
- [traefik](./traefik) - [readarr-audio](./docker-compose/readarr-audio)
*Modern reverse proxy and load balancer.* *Audio book collection manager.*
- [trilium](./trilium) - [recyclarr](./docker-compose/recyclarr)
*Hierarchical note-taking application.* *Syncs trash/recycle settings for media managers.*
- [tubearchivist](./tubearchivist) - [romm](./docker-compose/romm)
*YouTube archiving and management tool.* *Retro game manager.*
- [tvheadend](./tvheadend) - [romvault](./docker-compose/romvault)
*TV streaming server for DVB, ATSC, IPTV.* *ROM management and auditing tool.*
- [unpackerr](./unpackerr) - [sabnzbd](./docker-compose/sabnzbd)
*Automated extraction of archives for media managers.* *Usenet binary downloader.*
- [vscodium](./vscodium) - [searxng](./docker-compose/searxng)
*Open-source build of VS Code.* *Privacy-respecting metasearch engine.*
- [watchtower](./watchtower) - [shoutrrr](./docker-compose/shoutrrr)
*Automatic update for Docker containers.* *Notification library for various services.*
- [web-dev-compose.yml](./web-dev-compose.yml) - [sociaboard](./docker-compose/sociaboard)
*Web development Docker Compose setup.* *Social media management platform.*
- [webgrabplus](./webgrabplus) - [sonarr](./docker-compose/sonarr)
*EPG (Electronic Program Guide) grabber.* *TV series collection manager for Usenet and torrents.*
- [wg-easy](./wg-easy) - [soulseek](./docker-compose/soulseek)
*Simple WireGuard VPN management.* *Peer-to-peer music sharing client.*
- [whisper-webui](./whisper-webui) - [spotify-playlist-generator](./docker-compose/spotify-playlist-generator)
*Web UI for OpenAI Whisper speech-to-text.* *Tool to generate Spotify playlists.*
- [wireguard](./wireguard) - [spotisub](./docker-compose/spotisub)
*Fast, modern VPN tunnel.* *Spotify playlist subscription manager.*
- [wireshark](./wireshark) - [sptnr](./docker-compose/sptnr)
*Network protocol analyzer.* *Spotify playlist and library manager.*
- [xbackbone](./xbackbone) - [swag-letsencrypt](./docker-compose/swag-letsencrypt)
*File sharing and image hosting platform.* *Secure Web Application Gateway with Let's Encrypt.*
- [xteve](./xteve) - [swag-letsencrypt_duckdns](./docker-compose/swag-letsencrypt_duckdns)
*IPTV proxy for Plex and Emby.* *SWAG with DuckDNS integration.*
- [youtube-dl-material](./youtube-dl-material) - [tautulli](./docker-compose/tautulli)
*Web UI for youtube-dl downloads.* *Plex usage monitoring and analytics.*
- [youtube-dl-server](./youtube-dl-server) - [tdarr](./docker-compose/tdarr)
*REST API for youtube-dl.* *Distributed media transcoding system.*
- [tellytv](./docker-compose/tellytv)
*IPTV proxy for Plex.*
- [traefik](./docker-compose/traefik)
*Modern reverse proxy and load balancer.*
- [trilium](./docker-compose/trilium)
*Hierarchical note-taking application.*
- [tubearchivist](./docker-compose/tubearchivist)
*YouTube archiving and management tool.*
- [tvheadend](./docker-compose/tvheadend)
*TV streaming server for DVB, ATSC, IPTV.*
- [unpackerr](./docker-compose/unpackerr)
*Automated extraction of archives for media managers.*
- [vocechat](./docker-compose/vocechat)
*Self-hosted chat platform.*
- [vscodium](./docker-compose/vscodium)
*Open-source build of VS Code.*
- [watchtower](./docker-compose/watchtower)
*Automatic update for Docker containers.*
- [webgrabplus](./docker-compose/webgrabplus)
*EPG (Electronic Program Guide) grabber.*
- [wg-easy](./docker-compose/wg-easy)
*Simple WireGuard VPN management.*
- [whisper-webui](./docker-compose/whisper-webui)
*Web UI for OpenAI Whisper speech-to-text.*
- [wireguard](./docker-compose/wireguard)
*Fast, modern VPN tunnel.*
- [wireshark](./docker-compose/wireshark)
*Network protocol analyzer.*
- [xbackbone](./docker-compose/xbackbone)
*File sharing and image hosting platform.*
- [xteve](./docker-compose/xteve)
*IPTV proxy for Plex and Emby.*
- [youtube-dl-material](./docker-compose/youtube-dl-material)
*Web UI for youtube-dl downloads.*
- [youtube-dl-server](./docker-compose/youtube-dl-server)
*REST API for youtube-dl.*
## How To Use This Repo ## How To Use This Repo

View File

@@ -0,0 +1,16 @@
COMPOSE_PROJECT_NAME=Prodigy-Ghostfolio
# CACHE
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=RedisChangeMe123!
# POSTGRES
POSTGRES_DB=ghostfolio-db
POSTGRES_USER=yourusername
POSTGRES_PASSWORD=PostgresChangeMe123!
# VARIOUS
ACCESS_TOKEN_SALT=yourRandomSaltValue
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?connect_timeout=300&sslmode=prefer
JWT_SECRET_KEY=openSSL-rand-hex-32byte

View File

@@ -0,0 +1,83 @@
name: ghostfolio
services:
ghostfolio:
image: docker.io/ghostfolio/ghostfolio:latest
container_name: ghostfolio
restart: unless-stopped
init: true
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
env_file: # using portainer and this is how I pass env vars within portainer
- stack.env
ports:
- 3333:3333
depends_on:
# postgres:
# condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ['CMD-SHELL', 'curl -f http://localhost:3333/api/v1/health']
interval: 10s
timeout: 5s
retries: 5
networks:
- homelab
- ghostfolio_net
# Running separate compose container, 1 postgres for all apps
# postgres:
# image: docker.io/library/postgres:15-alpine
# container_name: gf-postgres
# restart: unless-stopped
# cap_drop:
# - ALL
# cap_add:
# - CHOWN
# - DAC_READ_SEARCH
# - FOWNER
# - SETGID
# - SETUID
# security_opt:
# - no-new-privileges:true
# env_file:
# - ../.env
# healthcheck:
# test:
# ['CMD-SHELL', 'pg_isready -d "$${POSTGRES_DB}" -U $${POSTGRES_USER}']
# interval: 10s
# timeout: 5s
# retries: 5
# volumes:
# - postgres:/var/lib/postgresql/data
redis:
image: docker.io/library/redis:alpine
container_name: gf-redis
restart: unless-stopped
user: '999:1000'
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
env_file:
- stack.env
command:
- /bin/sh
- -c
- redis-server --requirepass "$${REDIS_PASSWORD:?REDIS_PASSWORD variable is not set}"
healthcheck:
test:
['CMD-SHELL', 'redis-cli --pass "$${REDIS_PASSWORD}" ping | grep PONG']
interval: 10s
timeout: 5s
retries: 5
networks:
- ghostfolio_net
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
ghostfolio_net:
external: false

View File

@@ -0,0 +1,22 @@
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=/docker-containers/immich/upload
# The location where your database files are stored
DB_DATA_LOCATION=/docker-containers/immich/postgres_data
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=America/New_York
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=YourPassword
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

View File

@@ -39,6 +39,10 @@ services:
aliases: aliases:
- immich # how to add multiple aliases - immich # how to add multiple aliases
- immich-server - immich-server
immich_net:
aliases:
- immich # how to add multiple aliases
- immich-server
immich-machine-learning: immich-machine-learning:
container_name: immich_machine_learning container_name: immich_machine_learning
@@ -56,7 +60,7 @@ services:
healthcheck: healthcheck:
disable: false disable: false
networks: # Specify network for container networks: # Specify network for container
- homelab - immich_net
redis: redis:
container_name: immich_redis container_name: immich_redis
@@ -65,7 +69,7 @@ services:
test: redis-cli ping || exit 1 test: redis-cli ping || exit 1
restart: always restart: always
networks: # Specify network for container networks: # Specify network for container
- homelab - immich_net
database: database:
container_name: immich_postgres container_name: immich_postgres
@@ -101,7 +105,7 @@ services:
] ]
restart: always restart: always
networks: # Specify network for container networks: # Specify network for container
- homelab - immich_net
volumes: volumes:
pgdata: pgdata:
@@ -110,3 +114,5 @@ volumes:
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area.. networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab: homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly) external: true # This option causes compose to join the above network instead of making a _default one (supposedly)
immich_net:
external: false

View File

@@ -0,0 +1,44 @@
# Use root/example as user/password credentials
version: '3.1'
services:
mongo-db:
image: mongo
container_name: mongo-db
restart: always
environment:
UID: 1000
GID: 1006
MONGO_INITDB_ROOT_USERNAME: yourusername
MONGO_INITDB_ROOT_PASSWORD: ChangeMe123!
volumes:
- /docker-containers/mongodb/db:/data/db
- /docker-containers/mongodb/configdb:/data/configdb
- /docker-containers/mongodb/backup:/data/sickbackup
stdin_open: true
tty: true
networks:
homelab: # Specifying the network to join, simple way
aliases:
- mongo # how to add multiple aliases
- mongo-db
- mongodb
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: yourusername
ME_CONFIG_MONGODB_ADMINPASSWORD: ChangeMe123!
ME_CONFIG_MONGODB_URL: mongodb://yourusername:ChangeMe123!@mongo:27017/
ME_CONFIG_BASICAUTH_USERNAME: yourusername
ME_CONFIG_BASICAUTH_PASSWORD: ChangeMe123
networks:
- homelab # Specifying the network to join, simple way
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
# some-network:
homelab: # Sub-section, any network name or 'default' to edit default one created
# name: homelab # Networks can also be given a custom name, not needed if existing
external: true # This option causes compose to join the above network instead of making a _default one

View File

@@ -9,18 +9,21 @@ version: "3.7"
services: services:
node-red: node-red:
image: nodered/node-red:latest image: nodered/node-red:latest
container_name: node-red
#image: nodered/node-red:2.2.3-12@sha256:051cdb78937b7396d5be102e575b3b47322bfa48efad5aeb0d86d0a3bef22d22 // armv7 version works for raspberry pi, apparently isn't very good at seeing whether 32 or 64 bit #image: nodered/node-red:2.2.3-12@sha256:051cdb78937b7396d5be102e575b3b47322bfa48efad5aeb0d86d0a3bef22d22 // armv7 version works for raspberry pi, apparently isn't very good at seeing whether 32 or 64 bit
environment: environment:
- TZ=America/New_York - TZ=America/New_York
- NODE_RED_CREDENTIAL_SECRET=YourEncryptedString
ports: ports:
- "1880:1880" - "1880:1880"
networks:
- node-red-net
volumes: volumes:
- /docker-containers/node-red:/data - /docker-containers/node-red/data:/data
networks:
homelab:
aliases:
- nodered
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
name: homelab # Networks can also be given a custom name
external: true # This option causes compose to join the above network instead of making a _default one
volumes:
node-red-data:
networks:
node-red-net:

View File

@@ -6,13 +6,20 @@ services:
volumes: volumes:
- /docker-containers/ollama/code:/code - /docker-containers/ollama/code:/code
- /docker-containers/ollama/data:/root/.ollama - /docker-containers/ollama/data:/root/.ollama
# - /usr/local/cuda:/usr/local/cuda:ro # <-- mount CUDA runtime from host maybe
container_name: ollama container_name: ollama
pull_policy: always
tty: true tty: true
restart: always restart: always
environment: environment:
- OLLAMA_KEEP_ALIVE=24h - OLLAMA_KEEP_ALIVE=24h
- OLLAMA_HOST=0.0.0.0 - OLLAMA_HOST=0.0.0.0
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
# devices:
# - /dev/nvidia0:/dev/nvidia0
# - /dev/nvidiactl:/dev/nvidiactl
# - /dev/nvidia-uvm:/dev/nvidia-uvm
runtime: nvidia
networks: networks:
- homelab - homelab

View File

@@ -1,7 +1,7 @@
version: "3.8" version: "3.8"
services: services:
open-webui: open-webui:
image: ghcr.io/open-webui/open-webui:v0.6.36 image: ghcr.io/open-webui/open-webui:latest
container_name: open-webui container_name: open-webui
restart: unless-stopped restart: unless-stopped
@@ -12,18 +12,18 @@ services:
- MODEL_SERVER_URL=http://ollama:11434 - MODEL_SERVER_URL=http://ollama:11434
- PROVIDER=ollama,openai - PROVIDER=ollama,openai
- OPENAI_API_KEY=YourAPIKEY - OPENAI_API_KEY=YourAPIKEY
# This variable is required to be set, otherwise you may experience Websocket issues, doesn't fix my issues tho # With below set, and turning off basic auth in nginx, I was able to get reverse proxy working
- CORS_ALLOW_ORIGIN=https://open-webui.example.com;https://example.com;http://open-webui;http://open-webui:8080;https://open-webui:8080;http://192.168.1.239;http://192.168.1.239:3030;http://localhost:3030;http://192.168.1.1:80;http://192.168.1.1:443 - CORS_ALLOW_ORIGIN=https://open-webui.example.com;https://example.com;http://open-webui;http://open-webui:8080;https://open-webui:8080;http://192.168.1.239;http://192.168.1.239:3030;http://localhost:3030;http://192.168.1.1:80;http://192.168.1.1:443
- WEBUI_URL=https://open-webui.example.com;https://example.com;http://open-webui;http://open-webui:8080;https://open-webui:8080;http://192.168.1.239;http://192.168.1.239:3030;http://localhost:3030;http://192.168.1.1:80;http://192.168.1.1:443 - WEBUI_URL=https://open-webui.example.com;https://example.com;http://open-webui;http://open-webui:8080;https://open-webui:8080;http://192.168.1.239;http://192.168.1.239:3030;http://localhost:3030;http://192.168.1.1:80;http://192.168.1.1:443
# - ENABLE_WEBSOCKET_SUPPORT=false # didn't work, default true # - ENABLE_WEBSOCKET_SUPPORT=false # didn't work, default true
# - WEBUI_AUTH=false # can't be any users in db # - WEBUI_AUTH=false # can't be any users in db
# # Required for multi-worker/multi-instance deployments # Required for multi-worker/multi-instance deployments
# - REDIS_URL=redis://redis-valkey-webui:6379/0 - REDIS_URL=redis://redis-valkey-webui:6379/0
# # Required for websocket support # Required for websocket support
# - WEBSOCKET_MANAGER=redis - WEBSOCKET_MANAGER=redis
# - WEBSOCKET_REDIS_URL=redis://redis-valkey-webui:6379/1 - WEBSOCKET_REDIS_URL=redis://redis-valkey-webui:6379/1
volumes: volumes:
- /docker-containers/open-webui/data:/app/backend/data - /docker-containers/open-webui/data:/app/backend/data
@@ -34,17 +34,23 @@ services:
aliases: aliases:
- openwebui # adding multiple aliases under certain network - openwebui # adding multiple aliases under certain network
- open-wui - open-wui
# depends_on: openwebui_net:
# - redis-valkey-webui aliases:
- openwebui_internal # to connect to redis network, and not redis connect to homelab anymore (multi redis)
depends_on:
- redis-valkey-webui
# redis-valkey-webui: redis-valkey-webui:
# image: redis:7 image: redis:7
# container_name: redis-valkey-webui container_name: redis-valkey-webui
# restart: unless-stopped restart: unless-stopped
# networks: networks:
# - homelab - openwebui_net
networks: networks:
homelab: homelab:
name: homelab # Networks can also be given a custom name name: homelab # Networks can also be given a custom name
external: true # This option causes compose to join the above network instead of making a _default one external: true # This option causes compose to join the above network instead of making a _default one
openwebui_net:
name: openwebui_net
external: false

Some files were not shown because too many files have changed in this diff Show More