Astro domyślnie generuje w pełni statyczną stronę - zero bajtów JavaScriptu na starcie - i pozwala wstawiać pojedyncze interaktywne komponenty (islands) z Reacta, Vue czy Svelte dokładnie tam, gdzie interakcja jest naprawdę potrzebna. Reszta strony zostaje czystym HTML-em. Efekt to strony treściowe i blogi, które ładują się błyskawicznie nawet na słabym łączu, bez kompromisu w postaci ciężkiego bundla frameworka na całą stronę. Na Saplo Astro stawiasz jak każdą inną aplikację budowaną statycznie - silnik buduje projekt i wystawia gotowy katalog dist pod nginx.
Dla kogo jest Astro na Saplo
Zanim zaczniesz instalację, sprawdź, czy to dobry wybór dla Twojego projektu:
- blog albo strona treściowa, która ma być szybka - zero zbędnego JavaScriptu na starcie, treść ładuje się natychmiast,
- dokumentacja produktu - content collections w Markdown i statyczny build dobrze się do tego nadają,
- portfolio albo landing z odrobiną interakcji - formularz kontaktowy albo galeria jako pojedyncza wyspa Reacta czy Vue, bez hydratacji całej strony,
- strona, która dziś jest na WordPressie tylko dlatego, że ktoś potrzebował edytować treść - jeśli edycja idzie przez pliki Markdown w repo, Astro daje tę samą wygodę bez silnika PHP i bazy danych w tle.
Jeśli strona ma być w pełni dynamiczna (dane inne dla każdego zapytania, logowanie użytkowników), sprawdź w katalogu aplikacji stack Node.js zamiast statycznego Astro.
Wymagania
Żeby postawić Astro na Saplo, potrzebujesz:
- Boxa w dowolnym planie, S wystarczy do startu - wynikiem jest statyczny build bez procesu trzymanego w pamięci,
- minimum 512 MB wolnego RAM na sam proces builda (Astro ma cięższy toolchain buildowy niż czysty Vite) oraz 3 GB miejsca na dysku,
- domeny albo subdomeny
*.saploapp.plw cenie każdego planu, - repozytorium Git, jeśli chcesz automatycznych wdrożeń (opcjonalne na start, aplikację możesz też wgrać archiwum
.zipprzez panel).
Instalacja krok po kroku
- W panelu Saplo wejdź w Katalog aplikacji i wybierz Astro (kategoria "Strony").
- Wskaż Box oraz nazwę aplikacji - z niej powstaje domyślna subdomena
<nazwa>.saploapp.pl. - Wybierz wersję Node.js do builda (18, 20 albo 22, domyślnie 20) i zatwierdź instalację.
- Silnik scaffolduje minimalny szkielet Astro, instaluje zależności i buduje projekt, a zawartość katalogu
disttrafia bezpośrednio do katalogu aplikacji, serwowanego przez nginx. - Po zakończeniu instalacji domena z kroku 2 pokazuje startową stronę Astro - od tego momentu wdrażasz na nią własną treść.
Wdrożenie własnego kodu przez Git
- W szczegółach aplikacji znajdź sekcję Git / CI-CD i kliknij "Połącz GitHub", potwierdź instalację aplikacji "Saplo Deploy" i wskaż repozytorium z projektem Astro.
- W katalogu głównym repozytorium musi leżeć plik
saplo.yaml. - Zacommituj i wypchnij plik
saplo.yamlna gałąź produkcyjną (domyślniemain). - Każdy kolejny
git pushna tę gałąź buduje projekt i podmienia zawartość katalogudistna Boxie, status widzisz w zakładce Deploymenty. - Domyślnie Astro generuje statyk do
dist/- nginx serwuje go bezpośrednio, bez żadnego procesu w tle na serwerze.
Przykład minimalnego pliku saplo.yaml dla Astro:
name: moj-projekt
stack: astro
build:
install: npm ci
command: npm run build
output: dist
Astro na Saplo kontra alternatywy
| WordPress | Ręcznie pisany HTML | Astro na Saplo | |
|---|---|---|---|
| Prędkość ładowania | zależy od wtyczek, zwykle wolniej | bardzo szybko, ale brak komponentów | bardzo szybko + selektywne islands |
| Edycja treści | panel admina, bez kodu | ręcznie w plikach | pliki .astro / .md w repo, git push |
| Interaktywne komponenty | wtyczki | pisane ręcznie od zera | islands Reacta, Vue albo Svelte, hydratowane pojedynczo |
| Baza danych | wymagana (MySQL) | brak | brak, treść w repozytorium |
Najczęstsze pytania
Czy mogę pisać treść w Markdown? Tak, content collections w Astro trzymają treść jako pliki Markdown w repozytorium, walidowane przy buildzie.
Czy Astro potrzebuje procesu w tle? Nie w domyślnym trybie - output jest w pełni statyczny i serwowany bezpośrednio przez nginx, bez zużycia RAM po zakończeniu builda.
Kiedy wybrać SSR (adapter node) zamiast statyki?
Gdy strona musi zwracać inne dane dla każdego zapytania (np. panel użytkownika) - wtedy w katalogu aplikacji wybierz stack Node.js i skonfiguruj start.command.
Czy mogę mieszać islands z różnych frameworków na jednej stronie? Tak, Astro pozwala łączyć komponenty Reacta, Vue i Svelte na tej samej stronie, każdy hydratowany niezależnie.
Czy dostanę SSL i własną domenę?
Tak, certyfikat SSL jest automatyczny, a domenę albo subdomenę *.saploapp.pl masz w cenie każdego planu.
Astro na Saplo stawiasz od zera do działającej domeny w kilka minut, a treść aktualizujesz przez git push bez dotykania panelu admina ani bazy danych. Jeśli projekt urośnie do potrzeby pełnego SSR, w tym samym katalogu znajdziesz stack Node.js.