Compare commits

...

2 Commits

Author SHA1 Message Date
2f3c4ce51b removed uptime service 2025-11-07 02:09:56 +00:00
33b72af6a0 updated readme to match current config 2025-11-07 02:09:41 +00:00
2 changed files with 45 additions and 34 deletions

View File

@@ -16,6 +16,29 @@ All nodes are managers providing a 4-node quorum (can tolerate 2 node failures w
- **GlusterFS** mounted at `/home/doc/swarm-data/` on all nodes
- Shared storage enables services to run on any node without storage constraints
## Directory Structure
```
swarm/
├── conf/ # Traefik and service configurations
├── stacks/
│ ├── apps/ # Application services
│ │ ├── adminer/ # Database management
│ │ ├── n8n/ # Workflow automation
│ │ ├── outline/ # Documentation wiki
│ │ ├── paperless/ # Document management
│ │ └── uptime/ # Uptime monitoring
│ ├── core/ # Core infrastructure
│ │ ├── authentik/ # SSO/Authentication
│ │ ├── portainer/ # Container management
│ │ └── traefik/ # Reverse proxy
│ ├── data/ # Data services
│ │ └── rsync/ # Backup service
│ └── web/ # Web services
│ └── tracker/ # Tracker site
└── README.md
```
## Service Distribution Strategy
### Pinned Services
@@ -31,20 +54,36 @@ Services that can run on any node (swarm auto-balances):
- adminer
- authentik (server, worker, redis)
- n8n
- outline
- paperless (webserver, redis)
- tracker-nginx
- uptime-kuma
## Recent Changes (2025-10-30)
## Network Configuration
### Swarm Rebalancing
All services are connected to the `homelab` external overlay network for inter-service communication.
### Local Deployment (2025-11-07)
- Services now use `.swarm.home` domains for local access
- TLS enabled without external certificate resolvers
- Simplified Traefik configuration for local development
- Removed Cloudflare DNS integration
## Recent Changes
### Local Configuration Update (2025-11-07)
- Migrated from external `.frostlabs.me` domains to local `.swarm.home` domains
- Updated Traefik labels across all services for local deployment
- Simplified `.gitignore` to exclude entire `conf/` directory
- Moved Authentik from `apps/` to `core/` directory structure
- Removed Traefik labels from n8n and paperless for direct access
- Updated Traefik stack configuration for simplified port bindings
### Swarm Rebalancing (2025-10-30)
- Promoted p1, p2, p3 from workers to managers
- Removed unnecessary hostname constraints from service configs
- Force-redeployed services to redistribute across all nodes
- Verified GlusterFS accessibility on all nodes
### Results
- Achieved balanced workload distribution across all 4 nodes
- Improved high availability with 4-node manager quorum
- Services now self-balance automatically when nodes fail/recover
- Fixed Portainer agent connectivity by restarting agents after manager promotion
- Services now self-balance automatically when nodes fail/recover

View File

@@ -1,28 +0,0 @@
services:
uptime-kuma:
image: louislam/uptime-kuma:1.23.16
volumes:
- /home/doc/projects/swarm-data/appdata/uptime:/app/data
environment:
- TZ=America/New_York
networks:
- homelab
healthcheck:
test: [ "CMD", "node", "/app/extra/healthcheck.js" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
deploy:
replicas: 1
labels:
- "traefik.enable=true"
- "traefik.swarm.network=homelab"
- "traefik.http.routers.uptime-kuma.rule=Host(`status.swarm.home)"
- "traefik.http.routers.uptime-kuma.entrypoints=web,websecure"
- "traefik.http.routers.uptime-kuma.tls=true
- "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001"
networks:
homelab:
external: true