Aplikacja działająca lokalnie i aplikacja działająca stabilnie na produkcji to dwa różne problemy. Najczęstszy błąd to traktowanie deployu jako jednorazowej czynności — "wrzucam na serwer i działa" — zamiast jako procesu, który musi przetrwać restart serwera, crash procesu i awarię sieci.
Sprawdzony schemat zaczyna się od Dockerfile, który buduje dokładnie to samo środowisko co lokalnie — koniec z "u mnie działało". docker-compose spina kontener z jego zależnościami (baza, cache) w jedną komendę uruchamiającą całość.
Kluczowy element, który najczęściej ginie: watchdog. Kontener, który padnie o 3 nad ranem, musi wstać sam, zanim ktokolwiek to zauważy — nie czekać na poranne sprawdzenie. Prosty skrypt sprawdzający co kilka minut, czy usługa odpowiada, i restartujący kontener po awarii, robi różnicę między incydentem trwającym minuty a trwającym godziny.
Backup uruchamiany automatycznie o 4:00, gdy ruch jest najmniejszy, domyka schemat — dane są bezpieczne bez pamiętania o ręcznym wykonaniu kopii. Cały ten zestaw mieści się na najtańszym VPS-ie OVH za około 15 zł miesięcznie.