autoscript/templates/traefik/traefik.yml
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

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 }