Add detailed operations log and update ecosystem configuration
This commit is contained in:
parent
5454f0df02
commit
cb770f1778
2 changed files with 104 additions and 0 deletions
14
.gitignore
vendored
Normal file
14
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# Secrets and environment files
|
||||
.env
|
||||
*.tfvars
|
||||
*.tfstate
|
||||
*.tfstate.backup
|
||||
|
||||
# Terraform cache
|
||||
.terraform/
|
||||
.terraform.lock.hcl
|
||||
|
||||
# OS & IDE
|
||||
.DS_Store
|
||||
.vscode/
|
||||
.idea/
|
||||
90
ecosystem_operations_log.md
Normal file
90
ecosystem_operations_log.md
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# Szczegółowy Dziennik Operacyjny i Wdrożeniowy Ekosystemu TechArmor
|
||||
|
||||
**Właściciel / Administrator:** Grzegorz Wolaniuk
|
||||
**Domena:** `techarmor.pl`
|
||||
**Adres IP VPS:** `192.109.240.163`
|
||||
**Data utworzenia dziennika:** 27 sierpnia 2026 r.
|
||||
|
||||
Niniejszy dokument stanowi pełny, chronologiczny zapis wszystkich operacji, decyzji architektonicznych, napotkanych problemów technicznych oraz rozwiązań wdrożeniowych przeprowadzonych w celu uruchomienia samohostowanego ekosystemu firmowego.
|
||||
|
||||
---
|
||||
|
||||
## 1. Przegląd Architektury i Stosu Technologicznego
|
||||
|
||||
Ekosystem opiera się na konteneryzacji (Docker / Docker Compose), orkiestrowany przy użyciu podejścia **Infrastructure as Code (IaC)**. W skład wdrożonego środowiska wchodzą następujące usługi:
|
||||
|
||||
* **Zarządzanie ruchem i SSL:** Nginx Proxy Manager (`proxy.techarmor.pl`)
|
||||
* **Centralny pulpit:** Homepage (`dashboard.techarmor.pl`)
|
||||
* **Monitorowanie:** Uptime Kuma (`status.techarmor.pl`)
|
||||
* **Uwierzytelnianie (SSO):** Authentik (`auth.techarmor.pl`)
|
||||
* **Chmura i pakiet biurowy:** Nextcloud + Collabora Online (`cloud.techarmor.pl`, `office.techarmor.pl`)
|
||||
* **Zarządzanie kodem i CI/CD:** Forgejo (`git.techarmor.pl`)
|
||||
* **Zarządzanie zadaniami:** Plane (`tasks.techarmor.pl`)
|
||||
* **Baza wiedzy i Wiki:** Docmost (`wiki.techarmor.pl`)
|
||||
* **Archiwum dokumentów i OCR:** Paperless-ngx (`docs.techarmor.pl`)
|
||||
* **Biblioteka e-booków:** Calibre-Web (`books.techarmor.pl`)
|
||||
* **Zarządzanie aliasami e-mail:** SimpleLogin (`mail.techarmor.pl`)
|
||||
* **System obsługi zgłoszeń (Helpdesk):** FreeScout (`support.techarmor.pl`)
|
||||
|
||||
---
|
||||
|
||||
## 2. Faza Inicjalizacji i Konfiguracji (IaC)
|
||||
|
||||
1. **Struktura Projektu:** Przygotowano repozytorium IaC zawierające pliki `docker-compose.yml`, szablony zmiennych środowiskowych oraz konfigurację pulpitu Homepage.
|
||||
2. **Konfiguracja Zmiennych Środowiskowych (`.env`):**
|
||||
* Utworzono plik `.env` na bazie `.env.example`.
|
||||
* Wygenerowano silne, losowe hasła dla baz danych PostgreSQL oraz MariaDB (m.in. dla Authentik, Docmost, Paperless, FreeScout oraz SimpleLogin).
|
||||
3. **Rozszerzenie Stosu o FreeScout:**
|
||||
* Dodano usługi `freescout`, `freescout-db` (MariaDB 10.11) oraz `freescout-redis` do pliku `docker-compose.yml`.
|
||||
* Zaktualizowano plik `services.yaml` w module Homepage, dodając kafel do panelu pod adresem `https://support.techarmor.pl`.
|
||||
* Zaktualizowano plan wdrożeniowy (`company_ecosystem_plan.md`).
|
||||
|
||||
---
|
||||
|
||||
## 3. Napotkane Problemy i Kryzys Przestrzeni Dyskowej
|
||||
|
||||
Podczas pierwszych prób wdrożenia za pomocą `docker compose up -d` napotkano krytyczny problem braku wolnego miejsca na dysku (`no space left on device`).
|
||||
|
||||
1. **Analiza partycji:** Wykryto, że główna partycja systemowa (`/dev/nvme0n1p10`, montowana pod `/var/home`) o pojemności 70 GB została zapełniona niemal w 98% przez lokalne dane kontenerów i pamięć podręczną (`~/.local/share/containers`).
|
||||
2. **Operacje czyszczenia:**
|
||||
* Usunięto zbędne instalatory i pliki archiwów z katalogu domowego (`Anytype`, pakiety `.rpm`, `.flatpak`, `.rar`).
|
||||
* Wykonano czyszczenie kontenerów i wolumenów przy użyciu poleceń `podman system prune -af --volumes`.
|
||||
3. **Rozwiązanie problemu rejestru obrazów FreeScout:**
|
||||
* Oryginalny obraz `freescouthelpdesk/freescout` zwracał błąd dostępu (`denied`).
|
||||
* Zmieniono definicję obrazu w `docker-compose.yml` na stabilną i powszechnie wspieraną alternatywę: `tiredofit/freescout:latest`.
|
||||
4. **Migracja katalogu kontenerów (Kluczowe rozwiązanie):**
|
||||
* Zatrzymano procesy wymagające dostępu do dysku.
|
||||
* Przeniesiono katalog danych kontenerów z ograniczonej partycji `/var/home/th0/.local/share/containers` na przestronną partycję systemową `/run/media/th0/endeavouros` (posiadającą ponad 200 GB wolnego miejsca).
|
||||
* Utworzono dowiązanie symboliczne (`ln -s`), co pozwoliło systemowi kontenerów na bezproblemową pracę na nowym dysku.
|
||||
|
||||
---
|
||||
|
||||
## 4. Status Wdrożenia i Uruchomienie Kontenerów
|
||||
|
||||
Po rozwiązaniu problemów z miejscem na dysku, polecenie `docker compose up -d` zostało wykonane pomyślnie. Pobrane i uruchomione zostały następujące kontenery:
|
||||
|
||||
* `docker-nginx-proxy-manager-1` (Nginx Proxy Manager)
|
||||
* `docker-homepage-1` (Homepage Dashboard)
|
||||
* `docker-uptime-kuma-1` (Uptime Kuma)
|
||||
* `docker-authentik-server-1` & `docker-authentik-worker-1` (Authentik SSO)
|
||||
* `docker-nextcloud-1` (Nextcloud)
|
||||
* `docker-collabora-1` (Collabora Online)
|
||||
* `docker-forgejo-1` (Forgejo)
|
||||
* `docker-paperless-webserver-1` (Paperless-ngx)
|
||||
* `docker-calibre-web-1` (Calibre-Web)
|
||||
* `docker-freescout-1` (FreeScout)
|
||||
* Wszystkie wymagane instancje baz danych (`postgres:15-alpine`, `mariadb:10.11`) oraz klastry pamięci podręcznej (`redis:7-alpine`).
|
||||
|
||||
---
|
||||
|
||||
## 5. Bieżące Zadania Operacyjne i Następne Kroki
|
||||
|
||||
1. **Diagnostyka usług w pętli restartów:**
|
||||
* Zidentyfikowano chwilowe problemy z uruchomieniem kontenerów `docmost` oraz `simplelogin-app`.
|
||||
* *Plan działania:* Analiza logów (`docker logs docker-docmost-1` oraz `docker logs docker-simplelogin-app-1`) pod kątem poprawności zmiennych środowiskowych połączenia z bazą danych.
|
||||
2. **Konfiguracja Authentik:**
|
||||
* Ustalenie dostępu do panelu administratora i wygenerowanie/ustawienie tokenu oraz haseł bootstrapowych.
|
||||
* Planowana integracja logowania SSO dla poszczególnych aplikacji w ekosystemie.
|
||||
3. **Konfiguracja Nginx Proxy Manager:**
|
||||
* Dodanie hostów proxy dla każdej subdomeny w panelu administracyjnym NPM (`port 81`).
|
||||
* Wygenerowanie certyfikatów SSL Let's Encrypt dla pełnego szyfrowania ruchu HTTPS w domenie `techarmor.pl`.
|
||||
Loading…
Add table
Reference in a new issue