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