Refactor docker-compose configurations and add new services

- Reorganize Authelia configuration files
- Add new dynamic routing files for Traefik
- Update various service docker-compose files
- Remove outdated templates and scripts
This commit is contained in:
Kelin
2026-02-03 22:20:09 -05:00
parent ed17bf295a
commit e2a654b3f4
62 changed files with 1871 additions and 12061 deletions

View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Deploy Dockge stack script
# Run from /opt/dockge/
set -e
# Source common functions
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="/home/kelin/EZ-Homelab" # Fixed repo path since script runs from /opt/dockge
source "$REPO_DIR/scripts/common.sh"
log_info "Deploying Dockge stack..."
# Load environment
load_env_file_safely .env
# Remove sensitive variables from dockge .env (Dockge doesn't need them)
sed -i '/^AUTHELIA_ADMIN_PASSWORD_HASH=/d' .env
sed -i '/^AUTHELIA_JWT_SECRET=/d' .env
sed -i '/^AUTHELIA_SESSION_SECRET=/d' .env
sed -i '/^AUTHELIA_STORAGE_ENCRYPTION_KEY=/d' .env
# Localize labels in compose file
localize_compose_labels docker-compose.yml
# Deploy
run_cmd docker compose up -d
# Validate
if docker ps | grep -q dockge; then
log_success "Dockge stack deployed successfully"
exit 0
else
log_error "Dockge stack deployment failed"
exit 1
fi

View File

@@ -24,7 +24,7 @@ services:
- homelab-network
- traefik-network
ports:
- "5001:5001" # Optional: direct access
- '5001:5001' # Optional: direct access
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/stacks:/opt/stacks # Dockge manages stacks in this directory
@@ -37,18 +37,18 @@ services:
# TRAEFIK CONFIGURATION
# ==========================================
# Service metadata
- 'homelab.category=infrastructure"
- 'homelab.description=Docker Compose stack manager (PRIMARY)"
- 'homelab.category=infrastructure'
- 'homelab.description=Docker Compose stack manager (PRIMARY)'
# Traefik reverse proxy (comment/uncomment to disable/enable)
# If Traefik is on a remote server: these labels are NOT USED;
# configure external yml files in /traefik/dynamic folder instead.
- 'traefik.enable=true"
- 'traefik.docker.network=traefik-network"
- 'traefik.http.routers.dockge.rule=Host(`dockge.${DOMAIN}`)"
- 'traefik.http.routers.dockge.entrypoints=websecure"
- 'traefik.http.routers.dockge.tls.certresolver=letsencrypt"
- 'traefik.http.routers.dockge.middlewares=authelia@docker"
- 'traefik.http.services.dockge.loadbalancer.server.port=5001"
- 'traefik.enable=true'
- 'traefik.docker.network=traefik-network'
- 'traefik.http.routers.dockge.rule=Host(`dockge.${DOMAIN}`)'
- 'traefik.http.routers.dockge.entrypoints=websecure'
- 'traefik.http.routers.dockge.tls.certresolver=letsencrypt'
- 'traefik.http.routers.dockge.middlewares=authelia@docker'
- 'traefik.http.services.dockge.loadbalancer.server.port=5001'
networks:
homelab-network: