Instalacja i aktualizacje
Repozytorium jest obecnie prywatne. Poproś o dostęp.
Repozytorium GitLab ↗1. Instalacja i aktualizacje
Wymagania: dostęp do prywatnego repozytorium GitLab, Node.js 22.13 lub nowszy, Docker z Compose 2.30 lub nowszym, Nginx, PostgreSQL oraz domena z HTTPS. Szczegółową konfigurację znajdziesz w deployment/selfhost/README.md.
2. Pobierz repozytorium
Pobierz repozytorium na komputerze z dostępem do GitLaba. Nie wpisuj tokenów ani haseł w adresie repozytorium.
git clone https://gitlab.com/sowabartek/apidropsy.git
cd apidropsy3. Skonfiguruj środowisko
W katalogu głównym zainstaluj zależności i wyeksportuj samodzielną aplikację. Wynikowy katalog zawiera własny package.json, Dockerfile, setup.sh oraz konfigurację PostgreSQL.
npm ci
node deployment/selfhost/export.mjs outputs/apidropsy-dedicated4. Uruchom i sprawdź
Przenieś katalog outputs/apidropsy-dedicated na serwer. Utwórz dedykowany schemat PostgreSQL w wybranej bazie. Uruchom setup.sh z uprawnieniami administratora. Skrypt zapyta o dane bazy i administratora. Nie nadpisuj istniejącego runtime.env.
cd /var/www/apidropsy
bash setup.sh
curl --fail http://127.0.0.1:3100/api/health5. Cloudflare Flexible / Nginx HTTP
Cloudflare: DNS z proxy, SSL/TLS Flexible i Always Use HTTPS. Na serwerze użyj nginx-http.conf: HTTP na porcie 80, bez lokalnego certyfikatu i przekierowania apidropsy.com do HTTPS. APIDROPSY_PUBLIC_ORIGIN pozostaje https://apidropsy.com. TLS PostgreSQL jest niezależny. Szczegóły: deployment/selfhost/README.md.
6. E-mail
Rejestracja i odzyskiwanie hasła wymagają MAIL_WEBHOOK_URL, MAIL_WEBHOOK_SECRET i APIDROPSY_PUBLIC_ORIGIN w runtime.env. Webhook HTTPS musi przyjąć POST JSON: to, template, locale, url; nagłówek Authorization: Bearer zawiera sekret. Zwraca 2xx dopiero po przyjęciu wiadomości do wysłania. Bez wysyłki formularze informują o niedostępności. Link jest w polu url; template ma wartość verify lub reset.
7. Aktualizuj z kopią zapasową
Zanim zaktualizujesz kod, wykonaj kopię PostgreSQL i chronioną kopię runtime.env. Sprawdź opis zmian i nowe migracje. Pobierz aktualizacje, odtwórz eksport w nowym katalogu i wdroż go obok poprzedniej wersji. Migracje uruchamiają się przy starcie. Nie kopiuj przykładowych danych do produkcji.
git pull --ff-only
npm ci
node deployment/selfhost/export.mjs outputs/apidropsy-dedicated8. Status
Własna instalacja i konto w naszej usłudze to dwie niezależne opcje. Żadna nie podłącza automatycznie social mediów. Konektory, zgody API i synchronizacja są kolejnym etapem. Nazwę i wygląd można technicznie dostosować; rozpowszechnianie kodu wymaga uprawnień wynikających z licencji lub zgody właściciela.
Weryfikacja formularza rejestracji
W panelu Cloudflare otwórz Turnstile, dodaj widget w trybie Managed i wpisz domenę swojej instalacji, np. apidropsy.com. Skopiuj Site Key oraz Secret Key do poniższych pól.
Otwórz Cloudflare Turnstile ↗Potrzebujesz pomocy?
Zleć instalację ekspertowi lub skontaktuj się bezpośrednio z Bartłomiejem Sową.
Bartłomiej Sowa / 660 688 948 ↗