5.6 KiB
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)
- Struktura Projektu: Przygotowano repozytorium IaC zawierające pliki
docker-compose.yml, szablony zmiennych środowiskowych oraz konfigurację pulpitu Homepage. - Konfiguracja Zmiennych Środowiskowych (
.env):- Utworzono plik
.envna bazie.env.example. - Wygenerowano silne, losowe hasła dla baz danych PostgreSQL oraz MariaDB (m.in. dla Authentik, Docmost, Paperless, FreeScout oraz SimpleLogin).
- Utworzono plik
- Rozszerzenie Stosu o FreeScout:
- Dodano usługi
freescout,freescout-db(MariaDB 10.11) orazfreescout-redisdo plikudocker-compose.yml. - Zaktualizowano plik
services.yamlw module Homepage, dodając kafel do panelu pod adresemhttps://support.techarmor.pl. - Zaktualizowano plan wdrożeniowy (
company_ecosystem_plan.md).
- Dodano usługi
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).
- 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). - 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.
- Usunięto zbędne instalatory i pliki archiwów z katalogu domowego (
- Rozwiązanie problemu rejestru obrazów FreeScout:
- Oryginalny obraz
freescouthelpdesk/freescoutzwracał błąd dostępu (denied). - Zmieniono definicję obrazu w
docker-compose.ymlna stabilną i powszechnie wspieraną alternatywę:tiredofit/freescout:latest.
- Oryginalny obraz
- 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/containersna 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
- Diagnostyka usług w pętli restartów:
- Zidentyfikowano chwilowe problemy z uruchomieniem kontenerów
docmostorazsimplelogin-app. - Plan działania: Analiza logów (
docker logs docker-docmost-1orazdocker logs docker-simplelogin-app-1) pod kątem poprawności zmiennych środowiskowych połączenia z bazą danych.
- Zidentyfikowano chwilowe problemy z uruchomieniem kontenerów
- 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.
- 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.
- Dodanie hostów proxy dla każdej subdomeny w panelu administracyjnym NPM (