techarmor-iaac/DEPLOYMENT_GUIDE.md

108 lines
4 KiB
Markdown

# 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`