68 lines
3.5 KiB
Markdown
68 lines
3.5 KiB
Markdown
# Ekosystem Firmowy - Infrastruktura jako Kod (IaC)
|
|
|
|
**Autor:** Grzegorz Wolaniuk (gwolaniuk@gmail.com)
|
|
**Domena:** `techarmor.pl`
|
|
**IP VPS:** `192.109.240.163`
|
|
**Repozytorium Git:** `https://git.techarmor.pl/gwolaniuk/techarmor-iaac.git`
|
|
|
|
Repozytorium zawiera pełną konfigurację oraz pliki orkiestracji Docker Compose i Terraform do wdrożenia kompletnego, samowystarczalnego ekosystemu operacyjnego dla firmy na serwerze VPS przy użyciu domeny w `lh.pl`.
|
|
|
|
---
|
|
|
|
## 🛠️ Wybrany Stos Technologiczny
|
|
|
|
| Kategoria | Aplikacja | Subdomena / Dostęp | Opis |
|
|
| :--- | :--- | :--- | :--- |
|
|
| **Reverse Proxy & SSL** | Nginx Proxy Manager | `proxy.techarmor.pl` (port 81) | Automatyczne zarządzanie certyfikatami Let's Encrypt |
|
|
| **Centralny Panel** | Homepage | `dashboard.techarmor.pl` | Główny pulpit startowy ze statystykami usług |
|
|
| **Uwierzytelnianie (SSO)** | Authentik | `auth.techarmor.pl` | Centralny dostawca tożsamości OIDC / OAuth2 |
|
|
| **Poczta i Aliasy** | SimpleLogin | `mail.techarmor.pl` | Zarządzanie aliasami e-mail i przekazywaniem poczty |
|
|
| **Chmura i Biuro** | Nextcloud + Collabora CODE | `cloud.techarmor.pl`, `office.techarmor.pl` | Dysk chmurowy i edycja dokumentów online |
|
|
| **Git i CI/CD** | Forgejo | `git.techarmor.pl` (SSH: 222) | Repozytoria kodu, webhooki, pipeline'y CI/CD |
|
|
| **Zarządzanie Zadaniami** | Plane | `tasks.techarmor.pl` | Zarządzanie projektami, sprintami i cyklami |
|
|
| **Baza Wiedzy / Wiki** | Docmost | `wiki.techarmor.pl` | Współdzielona dokumentacja i SOP w czasie rzeczywistym |
|
|
| **Archiwum Dokumentów** | Paperless-ngx | `docs.techarmor.pl` | Automatyczny OCR, tagowanie i archiwizacja PDF |
|
|
| **Biblioteka E-booków** | Calibre-Web | `books.techarmor.pl` | Katalog EPUB/PDF z serwerem OPDS |
|
|
| **Helpdesk / Obsługa Klienta** | FreeScout | `support.techarmor.pl` | Lekki, otwarty system obsługi zgłoszeń i ticketów |
|
|
| **Monitoring** | Uptime Kuma | `status.techarmor.pl` | Monitorowanie dostępności usług i powiadomienia |
|
|
|
|
---
|
|
|
|
## 🚀 Szybki Start Wdrożeniowy
|
|
|
|
### Krok 1: Konfiguracja DNS w `lh.pl`
|
|
W panelu domeny `lh.pl` skieruj ruch na IP VPS `192.109.240.163`:
|
|
- Rekord **A** dla `@` $\rightarrow$ `192.109.240.163`
|
|
- Rekord **A** dla `*` (wildcard) $\rightarrow$ `192.109.240.163`
|
|
- Rekordy **MX**, **SPF** i **DKIM** dla SimpleLogin zgodnie ze specyfikacją pocztową.
|
|
|
|
### Krok 2: Przygotowanie środowiska i miejsca na dysku
|
|
Przed uruchomieniem upewnij się, że partycja systemowa posiada co najmniej 15-20 GB wolnego miejsca. W razie ograniczeń przestrzeni na dysku głównym, przenieś katalog kontenerów Dockera/Podmana na większą partycję:
|
|
```bash
|
|
# Czyszczenie nieużywanych warstw i obrazów
|
|
podman system prune -af --volumes
|
|
```
|
|
|
|
### Krok 3: Konfiguracja zmiennych środowiskowych (`.env`)
|
|
```bash
|
|
cd docker/
|
|
cp .env.example .env
|
|
nano .env # Uzupełnij silne, wygenerowane hasła dla baz danych i usług
|
|
```
|
|
|
|
### Krok 4: Uruchomienie stosu Docker Compose
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
### Krok 5: Konfiguracja Nginx Proxy Manager
|
|
1. Zaloguj się do panelu NPM: `http://192.109.240.163:81` (domyślnie: `admin@example.com` / `changeme`).
|
|
2. Dodaj Proxy Host dla każdej subdomeny wskazując na odpowiedni kontener i port wewnętrzny.
|
|
3. Wygeneruj bezpłatne certyfikaty SSL Let's Encrypt z wymuszeniem HTTPS.
|
|
|
|
---
|
|
|
|
## 📚 Dokumentacja i Dziennik Operacji
|
|
|
|
Szczegółowy, chronologiczny zapis wszystkich operacji wdrożeniowych, rozwiązywania problemów dyskowych i kroków naprawczych znajduje się w pliku:
|
|
👉 **[`ecosystem_operations_log.md`](./ecosystem_operations_log.md)**
|