Docker to nie konkretny stack technologiczny, tylko środowisko uruchomieniowe - dajesz własny Dockerfile albo docker-compose.yml, a Saplo buduje obraz i go uruchamia. To najbardziej elastyczna opcja w całym katalogu: jeśli aplikacji nie ma jako gotowej receptury (Ghost, n8n, WordPress i inne), a ma oficjalny obraz Docker albo plik compose, prawdopodobnie postawisz ją właśnie tutaj, bez czekania, aż Saplo doda dedykowaną recepturę.
Dla kogo jest Docker na Saplo
Zanim zaczniesz instalację, sprawdź, czy to dobry wybór dla Twojego projektu:
- aplikacja z gotowym obrazem Dockera - narzędzie, które chcesz uruchomić, publikuje oficjalny obraz na Docker Hub albo GHCR,
- kilka usług w jednym pliku docker-compose - aplikacja plus baza danych, cache albo worker w jednym
docker-compose.yml, - narzędzie, którego nie ma w katalogu jako osobna receptura - Docker daje dostęp do dowolnego oprogramowania z obrazem, bez czekania na dedykowany przepis,
- masz projekt z własnym Dockerfile i chcesz pełnej kontroli nad środowiskiem uruchomieniowym - zależności, wersje bibliotek systemowych, wszystko definiujesz sam.
Jeśli Twój projekt to Django z gotowym Dockerfile, rozważ też dedykowany stack Django - Saplo zbuduje go natywnie (gunicorn, nginx dla plików statycznych) bez konieczności pisania własnego obrazu.
Wymagania
Żeby postawić Docker na Saplo, potrzebujesz:
- Boxa w planie L lub wyższym - budowanie obrazu potrzebuje więcej zasobów niż zwykły statyczny build, a LXC musi mieć uruchomiony Docker daemon (nesting=1),
- minimum 512 MB wolnego RAM i 3 GB miejsca na dysku pod sam starter, cięższe obrazy i buildy wymagają więcej,
- domeny albo subdomeny
*.saploapp.plw cenie każdego planu, - repozytorium Git, jeśli chcesz korzystać z automatycznego wdrażania (opcjonalne na start, aplikację możesz też wgrać archiwum
.zipprzez panel).
Instalacja krok po kroku
- W panelu Saplo wejdź w Katalog aplikacji i wybierz Docker (kategoria "Aplikacje").
- Wskaż Box w planie L lub wyższym oraz nazwę aplikacji - z niej powstaje domyślna subdomena.
- Zatwierdź instalację. Silnik instaluje Docker CE oraz plugin docker compose w Twoim Boxie, jeśli jeszcze ich nie ma.
- Powstaje starter
docker-compose.ymlz obrazemnginxdemos/hellozmapowanym na port aplikacji, uruchomiony z opcjąrestart: unless-stopped- żeby od razu było co zobaczyć pod domeną, zanim wdrożysz własny projekt. - Po zakończeniu instalacji domena z kroku 2 pokazuje działający kontener startowy - od tego momentu zastępujesz go własnym obrazem albo plikiem compose.
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.
- W repozytorium umieść
Dockerfilew korzeniu projektu albodocker-compose.yml, jeśli aplikacja składa się z kilku usług - Saplo wykrywa, który wariant jest w repo, i buduje odpowiednio. - W pliku
saplo.yamlwskaż port, na którym nasłuchuje Twoja aplikacja, polemexpose- nginx skieruje na niego ruch z 80/443. - Zacommituj i wypchnij zmiany na gałąź produkcyjną (domyślnie
main). Każdy kolejnygit pushbuduje nowy obraz i podmienia kontener. - Obraz budowany jest bezpośrednio w Twoim Boxie - cięższe buildy (duże zależności, kompilacja natywna) wymagają wyższego planu.
Przykład minimalnego pliku saplo.yaml dla Dockera:
name: moj-projekt
stack: docker
expose: 8080
Docker na Saplo kontra alternatywy
| Własny VPS z Dockerem | Railway / Render (deploy z Dockerfile) | Docker na Saplo | |
|---|---|---|---|
| Konfiguracja Docker daemon | robisz sam | w pełni zarządzane | preinstalowane, silnik dogrywa brakujące elementy |
| Wdrożenia z Gita | trzeba złożyć samemu (CI/CD, webhooki) | tak, natywnie | tak, git push na gałąź produkcyjną |
| Rozliczenie | stały koszt serwera | zużycie zasobów, rośnie z ruchem | stały koszt Boxa |
| Kilka usług w jednym projekcie (compose) | konfigurujesz sam | zwykle ograniczone do jednego kontenera | docker-compose.yml wykrywany automatycznie |
Najczęstsze pytania
Dockerfile czy docker-compose - co wybrać? Oba działają. Dockerfile wystarczy dla pojedynczej usługi, docker-compose wybierz, gdy aplikacja potrzebuje kilku kontenerów obok siebie, np. usługi plus Redis.
Czy mogę mieć kilka kontenerów w jednym pliku compose?
Tak, cały plik docker-compose.yml jest uruchamiany razem, z zachowaniem sieci między usługami.
Czy obraz buduje się na moim Boxie, czy gdzieś zewnętrznie? Na Twoim Boxie - stąd wyższe wymagania planu przy cięższych buildach niż przy prostych statycznych stronach.
Co z danymi, które mają przetrwać restart kontenera? Wolumeny działają jak w zwykłym Dockerze. Pamiętaj o włączeniu backupu w ustawieniach aplikacji, jeśli dane mają być chronione.
Czy dostanę SSL i własną domenę?
Tak, certyfikat SSL jest automatyczny, a domenę albo subdomenę *.saploapp.pl masz w cenie każdego planu.
Docker na Saplo stawiasz od zera do działającej domeny w kilka minut, a każdy kolejny git push buduje nowy obraz i podmienia kontener bez Twojego udziału. Jeśli szukasz konkretnego narzędzia z obrazem Docker, którego nie ma jeszcze jako gotowej receptury w katalogu, to najszybsza droga, żeby je uruchomić.