20 Commits

Author SHA1 Message Date
e0d80dba34 Merge branch 'ZFSMigrate': Migrate Nextcloud to per-service ZFS datasets. 2026-04-01 10:07:26 -04:00
5390ef62e9 Migrate Nextcloud to per-service ZFS datasets 2026-04-01 10:06:39 -04:00
39c9221d00 Merge branch 'ZFSMigrate': Migrate immich to per-service ZFS datasets 2026-03-31 11:25:27 -04:00
a1c2266436 Migrate immich to per-service ZFS datasets 2026-03-31 11:24:49 -04:00
3e02ee89b9 Merge branch 'ZFSMigrate': migrate Jellyfin to per-service ZFS datasets 2026-03-30 21:58:49 -04:00
315c4cd61e Add JELLYFIN_PublishedServerUrl in an attempt to fix Jellyfin failing to resolve in client browsers 2026-03-30 21:57:41 -04:00
9abd0aa20e Migrate jellyfin to per-service ZFS datasets 2026-03-29 12:16:17 -04:00
ad1c1912aa Merge gitea migration from branch 'ZFSMigrate' 2026-03-28 12:40:15 -04:00
0b60f122b9 Migrate gitea to per-service ZFS datasets 2026-03-28 12:39:26 -04:00
787847292b Remove unneeded no-new-privileges option. Remove unused proxy network. 2026-03-28 00:29:38 -04:00
102f9d2b33 update compose yaml to move to latest portainer 2026-03-28 00:21:42 -04:00
12486de442 Migrating portainer to per-service ZFS datasets 2026-03-27 10:47:55 -04:00
f398779055 Change to bind mounts mapped to per-microservice ZFS datasets 2026-03-27 10:46:57 -04:00
05b8eaf353 Merge branch 'ZFSMigrate' after Vaultwarden successfully migrated to per-service ZFS datasets 2026-03-27 10:01:02 -04:00
8126c9a101 Change to bind mounts mapped to per-microservice ZFS datasets 2026-03-27 10:00:23 -04:00
27c1e01476 Archiving bookstack 2026-03-24 23:32:40 -04:00
7eac2b12f8 'compose.hubonly' and 'compose.full' were needed only on initial install of Beszel and its agent. Removing them. 2026-03-24 10:53:54 -04:00
9cb9fa628b Update bind mounts to point to /var/lib/beszel 2026-03-24 10:45:46 -04:00
e9e5a1fec2 correcting git copy of vaultwarden compose.yaml to match production 2026-03-23 23:09:29 -04:00
6235dea03a Abandoning Prometheus (for now) 2026-03-23 22:19:56 -04:00
12 changed files with 26 additions and 184 deletions

View File

@@ -1,27 +0,0 @@
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
environment:
APP_URL: http://localhost:8090
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket
beszel-agent:
image: henrygd/beszel-agent:latest
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- ./beszel_socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: /beszel_socket/beszel.sock
HUB_URL: http://localhost:8090
TOKEN: da52524a-fa93-47ef-908c-dd001c9e8e18
KEY: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFgDayLLA8JOzQ7fZtqTlUaRIQvhtoYSZvkUC9PrdQJG"

View File

@@ -1,13 +0,0 @@
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
environment:
APP_URL: http://localhost:8090
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket

View File

@@ -8,8 +8,8 @@ services:
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket
- /var/lib/beszel/beszel_data:/beszel_data
- /var/lib/beszel/beszel_socket:/beszel_socket
beszel-agent:
image: henrygd/beszel-agent:latest
@@ -17,8 +17,8 @@ services:
restart: unless-stopped
network_mode: host
volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- ./beszel_socket:/beszel_socket
- /var/lib/beszel/beszel_agent_data:/var/lib/beszel-agent
- /var/lib/beszel/beszel_socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: /beszel_socket/beszel.sock

View File

@@ -18,7 +18,7 @@ services:
networks:
- gitea
volumes:
- /mnt/storage/appdata/gitea/data:/data
- /var/lib/gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
@@ -38,6 +38,6 @@ services:
networks:
- gitea
volumes:
- /mnt/storage/appdata/gitea/mysql:/var/lib/mysql
- /var/lib/gitea/db:/var/lib/mysql

View File

@@ -1,9 +1,9 @@
# 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=/mnt/storage/appdata/immich/library
UPLOAD_LOCATION=/var/lib/immich/data
# The location where your database files are stored
DB_DATA_LOCATION=/mnt/storage/appdata/immich/postgres
DB_DATA_LOCATION=/var/lib/immich/db
# 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

View File

@@ -4,19 +4,19 @@ services:
container_name: jellyfin
network_mode: 'host'
volumes:
- /mnt/storage/appdata/jellyfin/config:/config
- /mnt/storage/appdata/jellyfin/config/web-config.json:/jellyfin/jellyfin-web/config.json
- /mnt/storage/appdata/jellyfin/cache:/cache
- /etc/jellyfin:/config
# - /etc/jellyfin/web-config.json:/jellyfin/jellyfin-web/config.json
- /var/lib/jellyfin/cache:/cache
- /mnt/cygnus:/cygnus:ro
- type: bind
source: /mnt/storage/appdata/jellyfin/media
source: /var/lib/jellyfin/media
target: /media
read_only: true
restart: 'unless-stopped'
# Optional - alternative address used for autodiscovery
# environment:
# - JELLYFIN_PublishedServerUrl=http://example.com
environment:
- JELLYFIN_PublishedServerUrl=http://127.0.0.1:8096
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
# extra_hosts:
# - 'host.docker.internal:host-gateway'

View File

@@ -4,7 +4,7 @@ services:
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- /mnt/storage/appdata/nextcloud/mysql:/var/lib/mysql
- /var/lib/nextcloud/db:/var/lib/mysql
networks:
- default
environment:
@@ -21,7 +21,7 @@ services:
ports:
- 8080:80
volumes:
- /mnt/storage/appdata/nextcloud/www/html:/var/www/html
- /var/lib/nextcloud/data/www/html:/var/www/html
networks:
- default
environment:

View File

@@ -1,33 +1,16 @@
services:
portainer:
image: portainer/portainer:latest
image: portainer/portainer-ce:lts
container_name: portainer
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /mnt/storage/appdata/portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/portainer:/data
ports:
- 9000:9000
labels:
- "traefik.enable=false"
- "traefik.http.routers.portainer.entrypoints=http"
- "traefik.http.routers.portainer.rule=Host(`portainer.objectbrokers.com`)"
- "traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.portainer.middlewares=portainer-https-redirect"
- "traefik.http.routers.portainer-secure.entrypoints=https"
- "traefik.http.routers.portainer-secure.rule=Host(`portainer.objectbrokers.com`)"
- "traefik.http.routers.portainer-secure.tls=true"
- "traefik.http.routers.portainer-secure.tls.certresolver=http"
- "traefik.http.routers.portainer-secure.service=portainer"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
- "traefik.docker.network=proxy"
- 9443:9443
- 8000:8000
networks:
proxy:
external: true
default:
name: portainer_network

View File

@@ -1,88 +0,0 @@
volumes:
prometheus_data: {}
grafana_data: {}
networks:
monitoring:
driver: bridge
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
- '--web.enable-lifecycle'
ports:
- "9098:9090"
networks:
- monitoring
restart: unless-stopped
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($|/)'
ports:
- "9100:9100"
networks:
- monitoring
restart: unless-stopped
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
ports:
- "8080:8080"
networks:
- monitoring
restart: unless-stopped
grafana:
image: grafana/grafana:latest
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_USERS_ALLOW_SIGN_UP=false
ports:
- "3000:3000"
networks:
- monitoring
restart: unless-stopped
alertmanager:
image: prom/alertmanager:latest
container_name: alertmanager
volumes:
- ./alertmanager:/etc/alertmanager
command:
- '--config.file=/etc/alertmanager/config.yml'
- '--storage.path=/alertmanager'
ports:
- "9093:9093"
networks:
- monitoring
restart: unless-stopped

View File

@@ -1,13 +0,0 @@
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9098']
- job_name: 'docker'
static_configs:
- targets: ['172.17.0.1:9323']

View File

@@ -8,10 +8,10 @@ services:
- 8030:80
environment:
# - DOMAIN='https://vaultwarden.objectbrokers.com'
- ADMIN_TOKEN="llanfairpwll"
- ADMIN_TOKEN=mfLzuPlsXDqtIwTGSN/oZ3cgmFKWXY/zv+hO94gtqsJeHdl7+O+tJeMZrTzQNMfI
# DOMAIN: "https://vaultwarden.objectbrokers.com" # Your domain; vaultwarden needs to know it's https to work properly with attachments
# ADMIN_TOKEN: ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
volumes:
- /mnt/storage/appdata/bitwarden:/data
- /var/lib/vaultwarden:/data