106 lines
2.9 KiB
Markdown
106 lines
2.9 KiB
Markdown
# THECR3W-DEV — INSTRUKCJA WGRANIA I WDROŻENIA NA SERWERZE
|
|
## Środowisko: Netcup VPS (IP: 89.58.46.176)
|
|
|
|
Paczka `thecr3w-dev-deploy.zip` zawiera kompletny kod źródłowy platformy, skrypty instalacji i konfiguracji, kontenery Docker oraz szablony integracji z Caddy i Keycloak.
|
|
|
|
---
|
|
|
|
## Krok 1: Przesłanie paczki ZIP na serwer
|
|
|
|
W terminalu lokalnym (PowerShell lub Linux/macOS) wykonaj:
|
|
```bash
|
|
scp thecr3w-dev-deploy.zip root@89.58.46.176:/opt/
|
|
```
|
|
*(lub użyj programu WinSCP / FileZilla z protokołem SFTP).*
|
|
|
|
---
|
|
|
|
## Krok 2: Rozpakowanie na serwerze
|
|
|
|
Zaloguj się na serwer przez SSH:
|
|
```bash
|
|
ssh root@89.58.46.176
|
|
```
|
|
|
|
Przejdź do katalogu `/opt` i rozpakuj paczkę:
|
|
```bash
|
|
cd /opt
|
|
unzip thecr3w-dev-deploy.zip -d thecr3w
|
|
cd /opt/thecr3w
|
|
```
|
|
|
|
Nadaj uprawnienia wykonywania skryptom:
|
|
```bash
|
|
chmod +x deploy.sh scripts/*.sh
|
|
```
|
|
|
|
---
|
|
|
|
## Krok 3: Konfiguracja zmiennych (Opcjonalnie)
|
|
|
|
Przejrzyj plik `.env` (jeśli nie istnieje, skrypt `deploy.sh` utworzy go automatycznie z `.env.example` i wygeneruje silne hasło bazy PostgreSQL):
|
|
```bash
|
|
cp -n .env.example .env
|
|
nano .env
|
|
```
|
|
W `.env` możesz uzupełnić:
|
|
- `R2_ACCESS_KEY_ID=` (klucz Cloudflare R2)
|
|
- `R2_SECRET_ACCESS_KEY=` (sekret Cloudflare R2)
|
|
|
|
---
|
|
|
|
## Krok 4: Uruchomienie budowania i instalacji
|
|
|
|
Uruchom główny skrypt wdrożeniowy:
|
|
```bash
|
|
./deploy.sh
|
|
```
|
|
|
|
Skrypt automatycznie:
|
|
1. Zweryfikuje obecność Dockera i sieci `proxy`.
|
|
2. Zbuduje lokalnie na serwerze obrazy kontenerów (`thecr3w-backend`, `thecr3w-download-center`, `thecr3w-admin-panel`).
|
|
3. Uruchomi dedykowany kontener PostgreSQL 16 (`thecr3w-postgres`) i zainicjalizuje strukturę tabel oraz indeksów.
|
|
4. Uruchomi backend i frontendy w sieci `proxy`.
|
|
5. Sprawdzi stan usług testem healthcheck (`http://localhost:5000/health`).
|
|
|
|
---
|
|
|
|
## Krok 5: Aktywacja domen w Caddy (Zero-Downtime)
|
|
|
|
Aby podpiąć domeny `app.thecr3wnet.com` oraz `download.thecr3wnet.com` bez przerywania działania innych usług (w tym istniejącego Keycloak czy aplikacji na `thecr3wnet.com`), uruchom:
|
|
```bash
|
|
./scripts/update_caddy.sh
|
|
```
|
|
|
|
Skrypt:
|
|
1. Utworzy kopię zapasową `/opt/proxy/Caddyfile.bak_<data>`.
|
|
2. Dopisze bezpiecznie bloki reverse proxy dla TheCr3w.
|
|
3. Przeprowadzi walidację składni w kontenerze `caddy`.
|
|
4. Przeładuje Caddy w trybie zero-downtime (`caddy reload`).
|
|
|
|
---
|
|
|
|
## Krok 6: Weryfikacja działania
|
|
|
|
Po zakończeniu sprawdź działanie w przeglądarce:
|
|
- **The Cr3w Download Center:** `https://download.thecr3wnet.com`
|
|
- **Native Update API (Health):** `https://app.thecr3wnet.com/health`
|
|
- **Native Update API (OpenAPI spec):** `https://app.thecr3wnet.com/api/v1/apps`
|
|
|
|
---
|
|
|
|
## Przydatne polecenia utrzymaniowe
|
|
|
|
```bash
|
|
# Podgląd stanu kontenerów TheCr3w:
|
|
docker ps --filter "name=thecr3w"
|
|
|
|
# Podgląd logów backendu w czasie rzeczywistym:
|
|
docker logs -f thecr3w-backend
|
|
|
|
# Restart całego stacku TheCr3w:
|
|
docker compose restart
|
|
|
|
# Zatrzymanie stacku:
|
|
docker compose down
|
|
```
|