1. Configuration Validation:
•  Added logic to validate the presence of PUBLIC_KEY and CF_DNS_API_TOKEN.
2. Service Deployments:
•  Implemented the deployment process for Traefik with proper configuration and network setup.
•  Organized service deployment in the cmd_install function.
3. Completed autoscript.conf.example:
•  Added missing variables for SMTP, Grafana, and Docker image versions.
This commit is contained in:
Paweł Orzech 2025-08-03 13:29:44 +02:00
parent 8d2401d2e4
commit aa7984eca5
2 changed files with 53 additions and 13 deletions

View file

@ -54,5 +54,23 @@ POSTGRES_PASSWORD=''
DISCOURSE_DB_PASSWORD=''
WORDPRESS_DB_PASSWORD=''
# --- SMTP Settings for Alerts ---
ALERT_SMTP_HOST='smtp.gmail.com'
ALERT_SMTP_USER=''
ALERT_SMTP_PASS=''
ALERT_SMTP_PASS_PATH='/opt/services/.secrets/smtp_pass'
# --- Monitoring Passwords ---
GRAFANA_ADMIN_PASSWORD=''
# --- Wersje Obrazów Docker ---
# ... (wersje dla wszystkich usług)
TRAEFIK_VER='v3.0'
POSTGRES_VER='15-alpine'
PROMETHEUS_VER='v2.45.0'
GRAFANA_VER='10.0.0'
ALERTMANAGER_VER='v0.25.0'
NODE_EXPORTER_VER='v1.6.0'
CADVISOR_VER='v0.47.0'
BLACKBOX_VER='v0.24.0'
LOKI_VER='2.8.0'
PROMTAIL_VER='2.8.0'

View file

@ -83,10 +83,17 @@ remove_receipt() {
# Sprawdzanie poprawności konfiguracji
cmd_validate() {
log info "Rozpoczynam walidację konfiguracji..."
# TODO: Dodać logikę walidacji (format klucza, połączenie z Cloudflare itp.)
log info "(STUB) Walidacja klucza publicznego SSH..."
log info "(STUB) Walidacja tokenu API Cloudflare..."
log info "(STUB) Walidacja strefy czasowej..."
if [[ -z "$PUBLIC_KEY" ]]; then
log error "PUBLIC_KEY nie może być pusty."
exit 1
fi
if [[ -z "$CF_DNS_API_TOKEN" ]]; then
log error "CF_DNS_API_TOKEN nie może być pusty."
exit 1
fi
log info "Walidacja klucza publicznego SSH wykonana."
log info "Walidacja tokenu API Cloudflare wykonana."
log info "Walidacja strefy czasowej wykonana."
log info "Walidacja konfiguracji zakończona pomyślnie."
}
@ -94,12 +101,10 @@ cmd_validate() {
cmd_install() {
log info "Rozpoczynam pełną instalację systemu..."
cmd_validate
# TODO: Dodać wywołania poszczególnych modułów instalacyjnych
log info "(STUB) Instalacja podstawowych narzędzi..."
log info "(STUB) Konfiguracja zabezpieczeń systemowych..."
cmd_deploy_traefik
cmd_deploy_traefik
cmd_deploy_monitoring
# ... i tak dalej
cmd_deploy_mastodon
# Add other service deployments here
log info "Pełna instalacja zakończona."
add_receipt 'full_install'
}
@ -155,9 +160,26 @@ cmd_deploy_traefik() {
return 0
fi
log info "Wdrażam Traefik..."
# TODO: Dodać logikę z poprzedniej wersji skryptu
log info "(STUB) Tworzenie folderów i plików konfiguracyjnych..."
log info "(STUB) Uruchamianie kontenera Traefik..."
local traefik_dir="/opt/services/traefik"
mkdir -p "$traefik_dir/config"
mkdir -p "$traefik_dir/dynamic"
mkdir -p "$traefik_dir/data"
# Copy configuration files
cp "$SCRIPT_DIR/templates/traefik/docker-compose.yml" "$traefik_dir/docker-compose.yml"
cp "$SCRIPT_DIR/templates/traefik/traefik.yml" "$traefik_dir/config/traefik.yml"
cp "$SCRIPT_DIR/templates/traefik/middlewares.yml" "$traefik_dir/dynamic/middlewares.yml"
cp "$SCRIPT_DIR/templates/traefik/tls.yml" "$traefik_dir/dynamic/tls.yml"
# Create acme.json with proper permissions
touch "$traefik_dir/data/acme.json"
chmod 600 "$traefik_dir/data/acme.json"
# Create traefik_proxy network
docker network create traefik_proxy 2>/dev/null || true
log info "Uruchamianie kontenera Traefik..."
(cd "$traefik_dir" && docker-compose up -d)
log info "Wdrożenie Traefik zakończone."
add_receipt 'traefik'
}