Rebalance swarm: promote all nodes to managers and remove hostname constraints

- Promoted p1, p2, p3 from worker to manager nodes for 4-node quorum
- Removed unnecessary hostname constraints from service configs
- Only traefik and portainer remain pinned to p0
- Services now auto-balance across all nodes via GlusterFS shared storage
- Updated README with cluster overview and distribution strategy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-30 08:52:38 +00:00
parent 8eb3106777
commit dde99083fb
7 changed files with 51 additions and 27 deletions

View File

@@ -10,9 +10,6 @@ services:
- ADMINER_DESIGN=nette
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
networks:
homelab:
external: true

View File

@@ -10,9 +10,6 @@ services:
- homelab
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
authentik_server:
image: ghcr.io/goauthentik/server:2025.10.0
@@ -38,9 +35,6 @@ services:
- homelab
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
labels:
- "traefik.enable=true"
- "traefik.http.routers.authentik.rule=Host(`auth.frostlabs.me`)"
@@ -75,9 +69,6 @@ services:
- homelab
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
depends_on:
- redis

View File

@@ -17,9 +17,6 @@ services:
- /var/run/docker.sock:/var/run/docker.sock:ro
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
restart_policy:
condition: on-failure
delay: 5s

View File

@@ -5,9 +5,6 @@ services:
- homelab
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
paperless_webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
@@ -48,9 +45,6 @@ services:
- homelab
deploy:
replicas: 1
placement:
constraints:
- node.hostname == p0
depends_on: # Fixed: removed postgres dependency
- paperless_redis

View File

@@ -14,9 +14,10 @@ services:
retries: 3
start_period: 60s
deploy:
placement:
constraints: [node.hostname == p0]
replicas: 1
placement:
preferences:
- spread: node.hostname
restart_policy:
condition: on-failure
delay: 10s