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='' DISCOURSE_DB_PASSWORD=''
WORDPRESS_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 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 # Sprawdzanie poprawności konfiguracji
cmd_validate() { cmd_validate() {
log info "Rozpoczynam walidację konfiguracji..." log info "Rozpoczynam walidację konfiguracji..."
# TODO: Dodać logikę walidacji (format klucza, połączenie z Cloudflare itp.) if [[ -z "$PUBLIC_KEY" ]]; then
log info "(STUB) Walidacja klucza publicznego SSH..." log error "PUBLIC_KEY nie może być pusty."
log info "(STUB) Walidacja tokenu API Cloudflare..." exit 1
log info "(STUB) Walidacja strefy czasowej..." 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." log info "Walidacja konfiguracji zakończona pomyślnie."
} }
@ -94,12 +101,10 @@ cmd_validate() {
cmd_install() { cmd_install() {
log info "Rozpoczynam pełną instalację systemu..." log info "Rozpoczynam pełną instalację systemu..."
cmd_validate 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 cmd_deploy_monitoring
# ... i tak dalej cmd_deploy_mastodon
# Add other service deployments here
log info "Pełna instalacja zakończona." log info "Pełna instalacja zakończona."
add_receipt 'full_install' add_receipt 'full_install'
} }
@ -155,9 +160,26 @@ cmd_deploy_traefik() {
return 0 return 0
fi fi
log info "Wdrażam Traefik..." log info "Wdrażam Traefik..."
# TODO: Dodać logikę z poprzedniej wersji skryptu local traefik_dir="/opt/services/traefik"
log info "(STUB) Tworzenie folderów i plików konfiguracyjnych..." mkdir -p "$traefik_dir/config"
log info "(STUB) Uruchamianie kontenera Traefik..." 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." log info "Wdrożenie Traefik zakończone."
add_receipt 'traefik' add_receipt 'traefik'
} }