# Przewodnik Wdrożenia Krok po Kroku: Ekosystem Firmowy **Autor:** Grzegorz Wolaniuk (gwolaniuk@gmail.com) **Domena:** `techarmor.pl` **IP VPS:** `192.109.240.163` Ten przewodnik krok po kroku opisuje proces wdrażania samowystarczalnego ekosystemu firmowego na Twoim serwerze VPS. --- ## Wymagania Wstępne - Serwer VPS z systemem Ubuntu LTS / Debian i dostępem root/sudo. - Publiczny adres IP serwera: **`192.109.240.163`**. - Domena zarejestrowana w **lh.pl**: **`techarmor.pl`**. --- ## Krok 1: Konfiguracja DNS w panelu `lh.pl` Aby subdomeny (`cloud`, `git`, `tasks`, `wiki`, `docs`, `books`, `dashboard`, `mail`) automatycznie kierowały ruch na Twój serwer VPS: 1. Zaloguj się do panelu klienta na [lh.pl](https://lh.pl). 2. Przejdź do zakładki **Domeny** $\rightarrow$ wybierz `techarmor.pl` $\rightarrow$ **Zarządzanie strefą DNS**. 3. Dodaj następujące rekordy: | Typ | Nazwa / Host | Wartość / IP docelowe | Opis | | :--- | :--- | :--- | :--- | | **A** | `@` | `192.109.240.163` | Domena główna (`techarmor.pl`) | | **A** | `*` | `192.109.240.163` | **Wildcard**: obsługuje wszystkie subdomeny | | **MX** | `@` | `mx1.simplelogin.co` (Priorytet 10) | Poczta SimpleLogin | | **MX** | `@` | `mx2.simplelogin.co` (Priorytet 20) | Zapasowa poczta SimpleLogin | | **TXT** | `@` | `v=spf1 include:simplelogin.co ~all` | Rekord SPF | --- ## Krok 2: Połączenie z VPS przez SSH Połącz się z serwerem za pomocą terminala: ```bash ssh root@192.109.240.163 ``` --- ## Krok 3: Pobranie lub Utworzenie Plików Projektu Umieść pliki projektu w katalogu `/opt/company-ecosystem-iac`: ```bash mkdir -p /opt/company-ecosystem-iac cd /opt/company-ecosystem-iac ``` --- ## Krok 4: Konfiguracja Zmiennych Środowiskowych Przejdź do katalogu `docker` i przygotuj plik `.env`: ```bash cd docker cp .env.example .env nano .env ``` Upewnij się, że zmienna `DOMAIN=techarmor.pl` oraz hasła baz danych są poprawne i bezpieczne. Zapisz plik (`Ctrl+O`, `Enter`, `Ctrl+X`). --- ## Krok 5: Uruchomienie Stosu Kontenerów Docker Uruchom wszystkie usługi w tle: ```bash docker compose up -d ``` Sprawdź status kontenerów: ```bash docker compose ps ``` --- ## Krok 6: Konfiguracja Nginx Proxy Manager i SSL 1. Otwórz w przeglądarce panel zarządzania proxy: - **URL:** `http://192.109.240.163:81` - **Domyślny login:** `admin@example.com` | **Hasło:** `changeme` 2. Przejdź do **Proxy Hosts** $\rightarrow$ **Add Proxy Host** i dodaj reguły dla poszczególnych subdomen: | Nazwa Domeny (Domain Names) | Kontener docelowy (Forward Host) | Port | Włącz SSL (Let's Encrypt) | | :--- | :--- | :--- | :--- | | `dashboard.techarmor.pl` | `homepage` | `3000` | Tak (Wymuś SSL) | | `mail.techarmor.pl` | `simplelogin-app` | `80` | Tak (Wymuś SSL) | | `cloud.techarmor.pl` | `nextcloud` | `80` | Tak (Wymuś SSL) | | `office.techarmor.pl` | `collabora` | `9980` | Tak (Wymuś SSL) | | `git.techarmor.pl` | `forgejo` | `3000` | Tak (Wymuś SSL) | | `tasks.techarmor.pl` | `plane-web` | `3000` | Tak (Wymuś SSL) | | `wiki.techarmor.pl` | `docmost` | `3000` | Tak (Wymuś SSL) | | `docs.techarmor.pl` | `paperless-webserver` | `8000` | Tak (Wymuś SSL) | | `books.techarmor.pl` | `calibre-web` | `8083` | Tak (Wymuś SSL) | | `status.techarmor.pl` | `uptime-kuma` | `3001` | Tak (Wymuś SSL) | *(Przy dodawaniu każdego hosta przejdź do zakładki **SSL**, wybierz **Request a new SSL Certificate with Let's Encrypt**, zaakceptuj regulamin i zapisz).* --- ## Krok 7: Dostęp do Ekosystemu Po skonfigurowaniu SSL możesz korzystać z usług pod adresami: - **Centralny Panel:** `https://dashboard.techarmor.pl` - **Poczta i Aliasy:** `https://mail.techarmor.pl` - **Dysk Chmurowy i Biuro:** `https://cloud.techarmor.pl` - **Git i CI/CD:** `https://git.techarmor.pl` - **Zarządzanie Zadaniami:** `https://tasks.techarmor.pl` - **Baza Wiedzy (Wiki):** `https://wiki.techarmor.pl` - **Archiwum Dokumentów (OCR):** `https://docs.techarmor.pl` - **Biblioteka Książek:** `https://books.techarmor.pl` - **Monitor Uptime:** `https://status.techarmor.pl`