autoscript/README.md
Paweł Orzech 09b8886adb feat(core): Przebudowa na architekturę modularną v3.0
1 Dokonano kompleksowej przebudowy skryptu, wprowadzając architekturę modularną v3.0. Ta fundamentalna zmiana przekształca
      AutoScript z prostego narzędzia w elastyczną platformę do zarządzania cyklem życia serwera, kładąc podwaliny pod zaawansowane
      funkcje DevOps.
    2
    3 Kluczowe zmiany w tej wersji:
    4
    5 - **Architektura oparta na komendach**: Wprowadzono w pełni modularny system, gdzie każda operacja (np. `install`, `validate`,
      `deploy_monitoring`) jest osobną, precyzyjną komendą.
    6
    7 - **Walidacja Konfiguracji**: Nowa komenda `validate` wykonuje "pre-flight check", weryfikując poprawność pliku konfiguracyjnego
      przed dokonaniem jakichkolwiek zmian w systemie, co drastycznie redukuje ryzyko błędów.
    8
    9 - **Mechanizm "Paragonów" (Receipts)**: Skrypt inteligentnie śledzi pomyślnie zakończone instalacje, co zapewnia idempotentność
      operacji i umożliwia bezpieczne, wielokrotne uruchamianie oraz precyzyjną deinstalację.
   10
   11 - **Ulepszone Logowanie i Interfejs**: Wprowadzono kolorowe logi na konsoli z podziałem na poziomy (INFO, WARN, ERROR) oraz
      ujednolicony zapis do pliku `/var/log/autoscript.log`.
   12
   13 - **Zarządzanie Skryptem i Sekretami**: Dodano wbudowane komendy do zarządzania cyklem życia samego skryptu (`self-update`) oraz
      do uproszczonej obsługi sekretów (`secrets:edit`, `secrets:view`).
   14
   15 - **Fundamenty pod przyszły rozwój**: Stworzono solidne podstawy i puste funkcje (stubs) dla przyszłych, zaawansowanych modułów,
      takich jak wdrożenie Mastodona, dynamiczne odkrywanie usług, centralne logowanie hosta, profile AppArmor i zaawansowane kopie
      zapasowe.
   16
   17 Ta wersja stanowi kamień milowy, podnosząc projekt na profesjonalny poziom i otwierając drogę do dalszej, szybkiej rozbudowy.
2025-08-03 12:54:05 +02:00

3.6 KiB

AutoScript v3 - Zautomatyzowana Platforma do Zarządzania Serwerem

1. Przegląd

AutoScript v3 to ewolucja prostego skryptu w kierunku w pełni modularnej platformy do automatyzacji i zarządzania cyklem życia serwera aplikacyjnego. Narzędzie jest zaprojektowane wokół architektury opartej na komendach, co pozwala na precyzyjne, bezpieczne i idempotentne operacje - od wstępnej konfiguracji po codzienne zarządzanie i deinstalację.

2. Kluczowe Koncepcje Architektoniczne

  • Modularność i Komendy: Zamiast jednego, monolitycznego przebiegu, każdą operację wykonuje się dedykowaną komendą (np. ./start.sh deploy_traefik).
  • Idempotentność i Paragony (Receipts): Skrypt śledzi ukończone instalacje. Można go bezpiecznie uruchamiać wielokrotnie - zainstaluje tylko brakujące elementy.
  • Walidacja "Pre-flight": Komenda validate sprawdza poprawność konfiguracji przed dokonaniem jakichkolwiek zmian w systemie.
  • Bezpieczeństwo jako Priorytet: Wbudowane wzmacnianie zabezpieczeń, zarządzanie sekretami i przygotowanie pod zaawansowane techniki (AppArmor).

3. Dostępne Komendy

Wszystkie komendy należy uruchamiać z uprawnieniami roota, np. sudo ./start.sh <komenda>.

Komenda Opis
install Główna instalacja. Uruchamia walidację i wdraża wszystkie podstawowe moduły.
validate Sprawdza poprawność pliku autoscript.conf i połączeń z zewnętrznymi API.
deploy_mastodon (W przygotowaniu) Wdraża i konfiguruje aplikację Mastodon.
deploy_traefik Wdraża i konfiguruje reverse proxy Traefik.
deploy_monitoring Wdraża stos monitoringu (Prometheus, Grafana, Alertmanager).
secrets:edit <nazwa> Otwiera zaszyfrowany plik z sekretami dla danej usługi w edytorze.
secrets:view <nazwa> Wyświetla odszyfrowaną zawartość pliku z sekretami.
self-update Aktualizuje skrypt AutoScript do najnowszej wersji z repozytorium Git.
uninstall Niebezpieczne! Usuwa wszystkie komponenty, dane i konfiguracje stworzone przez skrypt.
help Wyświetla listę dostępnych komend.

4. Instalacja Krok po Kroku

  1. Zaloguj się jako root na nowym serwerze (Debian/Ubuntu).
  2. Zainstaluj git i sklonuj repozytorium:
    apt update && apt install -y git
    git clone https://github.com/pawelorzech/autoscript.git
    cd autoscript
    
  3. Skonfiguruj AutoScript:
    cp autoscript.conf.example autoscript.conf
    nano autoscript.conf # Wypełnij wszystkie zmienne
    
  4. Sprawdź poprawność konfiguracji:
    sudo ./start.sh validate
    
  5. Uruchom pełną instalację:
    sudo ./start.sh install
    

5. Co dalej?

Po zakończeniu instalacji, Twój serwer jest w pełni skonfigurowany i zabezpieczony. Zapoznaj się z krokami opisanymi w poprzednich wersjach README (zmiana portu SSH, logowanie jako admin, konfiguracja 2FA), ponieważ te zasady wciąż obowiązują.

Możesz teraz zacząć wdrażać właściwą aplikację, np. używając (w przyszłości) komendy sudo ./start.sh deploy_mastodon.