diff --git a/README.md b/README.md index cc55ac4..abc0c26 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@
| 🖥️ 11 fleet hosts |
-🐳 53 compose stacks |
+🐳 44 compose stacks |
📚 15 documented systems |
🧱 4 trust boundaries |
🔁 13 automated maintenance flows |
@@ -112,7 +112,7 @@ Authentik, self-hosted, fronts single sign-on fleet-wide — native OIDC where a
## What's Running
-53 Docker Compose stacks, grouped by purpose rather than by which host happens to run them — see [`stacks/`](stacks/): identity & security, platform/infra, media, productivity, and dev tools.
+44 Docker Compose stacks, grouped by purpose rather than by which host happens to run them — see [`stacks/`](stacks/): identity & security, platform/infra, media, productivity, and dev tools.
---
diff --git a/stacks/dev-tools/ollama/docker-compose.yaml b/stacks/dev-tools/ollama/docker-compose.yaml
deleted file mode 100644
index cafebec..0000000
--- a/stacks/dev-tools/ollama/docker-compose.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-services:
- ollama:
- # Uncomment below for GPU support
- # deploy:
- # resources:
- # reservations:
- # devices:
- # - driver: nvidia
- # count: 1
- # capabilities:
- # - gpu
- volumes:
- - /path/to/ollama:/root/.ollama
- # Uncomment below to expose Ollama API outside the container stack
- ports:
- - "${HTTP_PORT2}:11434"
- container_name: ollama
- pull_policy: always
- tty: true
- restart: unless-stopped
- image: ollama/ollama:latest
- networks:
- - openai-net
-
- open-webui:
- image: ghcr.io/open-webui/open-webui:latest
- container_name: open-webui
- volumes:
- - /path/to/open-webui:/app/backend/data
- depends_on:
- - ollama
- ports:
- - "${HTTP_PORT}:8080"
- environment:
- - "OLLAMA_BASE_URL=http://ollama:11434"
- extra_hosts:
- - host.docker.internal:host-gateway
- restart: unless-stopped
- networks:
- - openai-net
-
-networks:
- openai-net:
- external: true
diff --git a/stacks/media/emby/docker-compose.yaml b/stacks/media/emby/docker-compose.yaml
deleted file mode 100644
index 6673628..0000000
--- a/stacks/media/emby/docker-compose.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-services:
- emby:
- image: emby/embyserver:latest
- container_name: emby
- environment:
- - TZ=${TZ}
- volumes:
- - /path/to/emby:/config
- - /path/to/media:/data
- - /path/to/transcodes/emby:/transcode
- ports:
- - ${HTTP_PORT}:8096
- restart: unless-stopped
- networks:
- - media-net
-
-networks:
- media-net:
- external: true
diff --git a/stacks/media/prowlarr/docker-compose.yaml b/stacks/media/prowlarr/docker-compose.yaml
deleted file mode 100644
index 4e28014..0000000
--- a/stacks/media/prowlarr/docker-compose.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-services:
- prowlarr:
- container_name: prowlarr
- image: lscr.io/linuxserver/prowlarr:latest
- environment:
- - PUID=${PUID}
- - PGID=${PGID}
- - TZ=${TZ}
- - UMASK=${UMASK}
- ports:
- - ${HTTP_PORT}:9696
- volumes:
- - /path/to/prowlarr:/config
- - /path/to/media:/data
- restart: unless-stopped
- healthcheck:
- test: ["CMD-SHELL", "curl -f http://localhost:9696 || exit 1"]
- interval: 15s
- timeout: 5s
- retries: 5
- start_period: 20s
- networks:
- - media-net
-
-networks:
- media-net:
- external: true
diff --git a/stacks/media/qbittorrent/docker-compose.yaml b/stacks/media/qbittorrent/docker-compose.yaml
deleted file mode 100644
index b015044..0000000
--- a/stacks/media/qbittorrent/docker-compose.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-services:
- qbittorrent:
- image: ghcr.io/hotio/qbittorrent:release-5.1.4
- container_name: qbittorrent
- privileged: true
- environment:
- - PUID=${PUID}
- - PGID=${PGID}
- - TZ=${TZ}
- - UMASK=${UMASK}
- volumes:
- - /path/to/qbittorrent:/config
- - /path/to/media/torrents:/data/torrents
- ports:
- - ${HTTP_PORT}:8080
- - ${HTTP_PORT1}:8999
- - ${HTTP_PORT1}:8999/udp
- restart: always
- healthcheck:
- test: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"]
- interval: 15s
- timeout: 5s
- retries: 5
- start_period: 30s
- networks:
- - media-net
-
-networks:
- media-net:
- external: true
diff --git a/stacks/platform/mariadb-latest/docker-compose.yaml b/stacks/platform/mariadb-latest/docker-compose.yaml
deleted file mode 100644
index ac2bdb9..0000000
--- a/stacks/platform/mariadb-latest/docker-compose.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-services:
- mariadb-latest:
- container_name: mariadb-latest
- image: mariadb:latest
- restart: "no"
- environment:
- # No real data lives here - this is a thin self-hosted-registry mirror
- # build target, not a running database. Random root password since
- # the base image needs some root-auth setting to initialize at all.
- - MYSQL_RANDOM_ROOT_PASSWORD=true
- healthcheck:
- test: ["CMD-SHELL", "mariadb-admin ping -h 127.0.0.1 -u root || exit 1"]
- interval: 5s
- timeout: 5s
- retries: 10
- start_period: 15s
diff --git a/stacks/platform/mysql-8/docker-compose.yaml b/stacks/platform/mysql-8/docker-compose.yaml
deleted file mode 100644
index fbd8844..0000000
--- a/stacks/platform/mysql-8/docker-compose.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-services:
- mysql-8:
- container_name: mysql-8
- image: mysql:8
- restart: "no"
- environment:
- # No real data lives here - a thin self-hosted-registry mirror build
- # target, not a running database.
- - MYSQL_RANDOM_ROOT_PASSWORD=yes
- healthcheck:
- test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 || exit 1"]
- interval: 5s
- timeout: 5s
- retries: 10
- start_period: 20s
diff --git a/stacks/platform/postgres-18-alpine/docker-compose.yaml b/stacks/platform/postgres-18-alpine/docker-compose.yaml
deleted file mode 100644
index 3c1d03c..0000000
--- a/stacks/platform/postgres-18-alpine/docker-compose.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-services:
- postgres-18-alpine:
- container_name: postgres-18-alpine
- image: postgres:18-alpine
- restart: "no"
- environment:
- # No real data lives here - a thin self-hosted-registry mirror build
- # target so other stacks can pull the result. trust auth is fine
- # since nothing reaches it but the health check below - Postgres
- # refuses to start at all without some password/auth method set.
- - POSTGRES_HOST_AUTH_METHOD=trust
- healthcheck:
- test: ["CMD-SHELL", "pg_isready -U postgres"]
- interval: 5s
- timeout: 5s
- retries: 10
- start_period: 10s
diff --git a/stacks/platform/valkey-9.0-alpine/docker-compose.yaml b/stacks/platform/valkey-9.0-alpine/docker-compose.yaml
deleted file mode 100644
index 27ba3b0..0000000
--- a/stacks/platform/valkey-9.0-alpine/docker-compose.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-services:
- valkey-9.0-alpine:
- container_name: valkey-9.0-alpine
- image: valkey/valkey:9.0-alpine
- restart: "no"
- healthcheck:
- test: ["CMD", "valkey-cli", "ping"]
- interval: 5s
- timeout: 5s
- retries: 10
- start_period: 10s
diff --git a/stacks/productivity/bookstack/docker-compose.yaml b/stacks/productivity/bookstack/docker-compose.yaml
deleted file mode 100644
index f5fb395..0000000
--- a/stacks/productivity/bookstack/docker-compose.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
----
-services:
- bookstack:
- image: lscr.io/linuxserver/bookstack:latest
- container_name: bookstack
- environment:
- - PUID=${PUID}
- - PGID=${PGID}
- - TZ=${TZ}
- - APP_URL=https://subdomain.example.com
- - DB_HOST=bookstack_db
- - DB_PORT=${DB_PORT}
- - DB_USER=${DB_USER}
- - DB_PASS=${DB_PASS}
- - DB_DATABASE=${DB_DATABASE}
- - APP_DEFAULT_DARK_MODE=true
- volumes:
- - /path/to/bookstack/bookstack_app_data:/config
- ports:
- - ${HTTP_PORT}:80
- restart: unless-stopped
- depends_on:
- bookstack_db:
- condition: service_healthy
- healthcheck:
- test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:80/ || exit 1"]
- interval: 15s
- timeout: 5s
- retries: 5
- start_period: 30s
- networks:
- - bookstack-net
-
- bookstack_db:
- image: lscr.io/linuxserver/mariadb:latest
- container_name: bookstack_db
- environment:
- - PUID=${PUID}
- - PGID=${PGID}
- - TZ=${TZ}
- - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- - MYSQL_DATABASE=${DB_DATABASE}
- - MYSQL_USER=${DB_USER}
- - MYSQL_PASSWORD=${DB_PASSWORD}
- volumes:
- - /path/to/bookstack/bookstack_db_data:/config
- restart: unless-stopped
- healthcheck:
- test:
- [
- "CMD-SHELL",
- "mysqladmin ping -h localhost -u${DB_USER} -p${DB_PASSWORD} || exit 1",
- ]
- interval: 10s
- timeout: 5s
- retries: 10
- start_period: 20s
- networks:
- - bookstack-net
-
-networks:
- bookstack-net:
- external: true