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.
22 lines
630 B
YAML
22 lines
630 B
YAML
api: { dashboard: true }
|
|
ping: {}
|
|
entryPoints:
|
|
web:
|
|
address: ":80"
|
|
http: { redirections: { entryPoint: { to: websecure, scheme: https } } }
|
|
websecure:
|
|
address: ":443"
|
|
providers:
|
|
file: { directory: "/etc/traefik/dynamic", watch: true }
|
|
docker:
|
|
exposedByDefault: false
|
|
network: traefik_proxy
|
|
certificatesResolvers:
|
|
le-dns:
|
|
acme:
|
|
email: ${ADMIN_EMAIL}
|
|
storage: /acme/acme.json
|
|
dnsChallenge: { provider: cloudflare, delayBeforeCheck: 0 }
|
|
metrics: { prometheus: { addEntryPointsLabels: true, addServicesLabels: true } }
|
|
log: { level: INFO, format: json }
|
|
accessLog: { format: json }
|