autoscript/autoscript.conf.example
Paweł Orzech ee90c4b52d Wprowadzenie modularności i kompleksowa rozbudowa skryptu (v2.0)
1 Przeprowadzono gruntowną refaktoryzację i rozbudowę skryptu, przekształcając go w modularne i w pełni funkcjonalne narzędzie do
      zarządzania cyklem życia serwera.
    2
    3 Kluczowe zmiany w tej wersji (v2.0):
    4
    5 - **Modularna architektura**: Skrypt obsługuje teraz komendy (np. `install`, `uninstall`, `deploy_monitoring`), co pozwala na
      elastyczne zarządzanie poszczególnymi komponentami bez potrzeby uruchamiania całości.
    6
    7 - **Idempotentność**: Wszystkie operacje sprawdzają stan systemu przed wykonaniem, co gwarantuje bezpieczeństwo i
      przewidywalność przy wielokrotnym uruchamianiu.
    8
    9 - **Separacja konfiguracji**: Konfiguracje usług (Docker Compose, Prometheus itp.) zostały przeniesione do folderu `templates/`,
      oddzielając logikę skryptu od danych konfiguracyjnych.
   10
   11 - **Nowe moduły opcjonalne**: Dodano możliwość łatwej instalacji i konfiguracji:
   12   - `Fail2ban` dla dodatkowego bezpieczeństwa.
   13   - Bazy danych `PostgreSQL`.
   14   - Systemu agregacji logów `Loki`.
   15   - Systemu kopii zapasowych `Restic`.
   16
   17 - **Ulepszone logowanie i bezpieczeństwo**: Skrypt weryfikuje kompatybilność OS, a wszystkie jego działania są logowane do pliku
      `/var/log/autoscript.log`.
   18
   19 - **Funkcja `uninstall`**: Dodano możliwość czystego i bezpiecznego usunięcia wszystkich komponentów wdrożonych przez skrypt.
   20
   21 - **Aktualizacja dokumentacji**: `README.md` i `CHANGELOG.md` zostały w pełni zaktualizowane, aby odzwierciedlać nową
      funkcjonalność.
   22
   23 Ta wersja stanowi kamień milowy w rozwoju projektu, czyniąc go potężnym i niezawodnym narzędziem dla administratorów.
2025-08-03 12:43:29 +02:00

114 lines
No EOL
3.9 KiB
Text

# ===================================================================
# Konfiguracja AutoScript v2
# ===================================================================
#
# Instrukcja:
# 1. Skopiuj ten plik do `autoscript.conf`
# cp autoscript.conf.example autoscript.conf
# 2. Wypełnij poniższe zmienne.
#
# ===================================================================
# -------------------------------------------------------------------
# SEKCJA WYMAGANA
# -------------------------------------------------------------------
# Twój publiczny klucz SSH, który zostanie użyty do logowania na użytkownika 'admin'.
# Przykład: PUBLIC_KEY='ssh-ed25519 AAAA... user@host'
PUBLIC_KEY=''
# Token API z Cloudflare z uprawnieniami do edycji strefy DNS (DNS:Edit).
CF_DNS_API_TOKEN=''
# -------------------------------------------------------------------
# USTAWIENIA GŁÓWNE
# -------------------------------------------------------------------
# Twoja główna domena zarządzana przez Cloudflare.
# Przykład: PRIMARY_DOMAIN='example.com'
PRIMARY_DOMAIN='orzech.me'
# Adres e-mail używany do powiadomień od Let's Encrypt oraz alertów systemowych.
# Przykład: ADMIN_EMAIL='admin@example.com'
ADMIN_EMAIL='admin@orzech.me'
# Strefa czasowa serwera.
# Pełna lista: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Przykład: TIMEZONE='Europe/London'
TIMEZONE='Europe/Warsaw'
# -------------------------------------------------------------------
# USTAWIENIA POWIADOMIEŃ (SMTP)
# -------------------------------------------------------------------
ALERT_SMTP_HOST='mail.drap.ovh:587'
ALERT_SMTP_USER='alerts@drap.ovh'
ALERT_SMTP_PASS='' # Pozostaw puste, aby wygenerować losowe
ALERT_SMTP_FROM='alerts@drap.ovh'
# -------------------------------------------------------------------
# USTAWIENIA USŁUG
# -------------------------------------------------------------------
# Hasło administratora dla Grafany.
# Jeśli pozostawisz puste, zostanie wygenerowane losowe i zapisane bezpiecznie w sops.
GRAFANA_ADMIN_PASSWORD=''
# -------------------------------------------------------------------
# MODUŁY OPCJONALNE (włącz/wyłącz za pomocą true/false)
# -------------------------------------------------------------------
# Czy instalować i konfigurować Fail2ban jako dodatkową warstwę ochrony?
INSTALL_FAIL2BAN=true
# Czy wdrażać bazę danych PostgreSQL?
INSTALL_DATABASE=false
# Czy wdrażać Loki do centralnego zbierania logów z kontenerów?
INSTALL_LOKI=false
# Czy konfigurować system kopii zapasowych Restic?
# UWAGA: Wymaga ręcznego uzupełnienia danych repozytorium!
INSTALL_BACKUP=false
# -------------------------------------------------------------------
# KONFIGURACJA BAZY DANYCH (jeśli INSTALL_DATABASE=true)
# -------------------------------------------------------------------
# Hasło dla użytkownika 'postgres'. Zostanie zapisane w sops.
# Jeśli pozostawisz puste, zostanie wygenerowane losowe.
POSTGRES_PASSWORD=''
# -------------------------------------------------------------------
# KONFIGURACJA KOPII ZAPASOWYCH (jeśli INSTALL_BACKUP=true)
# -------------------------------------------------------------------
# Pełna ścieżka do repozytorium Restic (np. s3:s3.amazonaws.com/my-bucket)
BACKUP_REPO=''
# Hasło do repozytorium Restic. Zostanie zapisane w sops.
BACKUP_PASSWORD=''
# Dane dostępowe do Twojego dostawcy chmury (np. AWS S3)
# Zostaną zapisane w sops.
AWS_ACCESS_KEY_ID=''
AWS_SECRET_ACCESS_KEY=''
# Harmonogram tworzenia kopii zapasowych (format cron)
# Poniższy przykład oznacza "codziennie o 3:30 w nocy"
BACKUP_CRON_SCHEDULE='30 3 * * *'
# -------------------------------------------------------------------
# WERSJE OBRAZÓW DOCKER
# -------------------------------------------------------------------
TRAEFIK_VER='v3.0'
PROMETHEUS_VER='latest'
NODE_EXPORTER_VER='latest'
CADVISOR_VER='latest'
BLACKBOX_VER='latest'
GRAFANA_VER='latest'
ALERTMANAGER_VER='latest'
POSTGRES_VER='16'
LOKI_VER='latest'
PROMTAIL_VER='latest'